Tagliare File – Codice VB.NET


Tagliare file: ovvero come fare a gestire lo spostamento di qualsiasi file, con controllo dei byte effettivamente copiati mediante codice VB.NET. Introduzione Il listato seguente permette di tagliare file, mediante l'utilizzo dello ...




Categoria dell'articolo: Codice VB.NET

Listati in codice Visual Basic.NET, elaborati o rielaborati e adattati da IngAC con la versione 2015. Funzioni e subroutine varie utili alla creazione di programmi.





Autore articolo:



Tagliare file: ovvero come fare a gestire lo spostamento di qualsiasi file, con controllo dei byte effettivamente copiati mediante codice VB.NET.

Introduzione

Il listato seguente permette di tagliare file, mediante l’utilizzo dello stream e del buffer. Per il programmatore potrebbe essere molto utile avere il codice già pronto e tale da gestire lo spostamento di un file, tenendo d’occhio il progresso dell’operazione e avendo l’applicazione non bloccata dal processo di copiatura. La funzione che si occupa del tutto è: IngAC_FILE_TAGLIA (ByVal File_Origine As String, ByVal File_Destinazione As String, Optional Sovrascrivi_Destinazione As Boolean = False) As Long. Grazie ad essa saremo in grado di spostare un file con pochi passaggi.

Public Function IngAC_FILE_TAGLIA(ByVal File_Origine As String,
                                 ByVal File_Destinazione As String,
 Optional Sovrascrivi_Destinazione As Boolean = False) As Long
Try 
 
        If Sovrascrivi_Destinazione = True Then
            Dim Buffer_Byte = 256
            Dim Buffer(Buffer_Byte) As Byte
            Dim Contatore_Byte As Long = 0
            Dim Dimensione_File As Long = 0
            Using Stream_Origine As FileStream = File.Open(File_Origine, FileMode.Open)
                Using Stream_Destinazione As FileStream = File.Create(File_Destinazione)
                    Dimensione_File = Stream_Origine.Length '-1
                    Dim Lettura_Byte As Integer
                    While Stream_Origine.Position < Dimensione_File
                        Lettura_Byte = (Stream_Origine.Read(Buffer, 0, Buffer_Byte))
                        Contatore_Byte = Stream_Origine.Position
                        Stream_Destinazione.Write(Buffer, 0, Lettura_Byte)
                        Application.DoEvents()
                    End While
                End Using
            End Using
            Try
                Kill(File_Origine)
                Return Contatore_Byte
            Catch
                IngAC_FILE_TAGLIA = -1
            End Try
 
        Else
            Dim Dimensione_File As Long = 0
            Using Stream_Destinazione As FileStream = File.Open(File_Destinazione, FileMode.Open)
                Dimensione_File = Stream_Destinazione.Length
            End Using
            Try
                Kill(File_Origine)
                Return Dimensione_File
            Catch
                IngAC_FILE_TAGLIA = -1
            End Try
        End If
    End Function
 

Come tagliare file da codice VB.NET

La funzione IngAC_FILE_TAGLIA ha come input:

  • File_Origine che è il file che si vuole spostare, che ha qualsiasi estensione.
  • File_Destinazione che invece è il percorso e il nome del file da spostare, con uguale  o diversa estensione, come specificato dall’utente;
  • Optional Sovrascrivi_Destinazione As Boolean = False : è un parametro opzionale che permette o nega la sovrascrittura del file di destinazione.

Come output si avrà la movimentazione del file nella posizione desiderata; la funzione restituisce la dimensione del file tagliato se è tutto ok, oppure il valore -1, se qualcosa è andato storto.



Il funzionamento è  semplicissimo: si aprono gli stream per i due file, si legge da file origine, si immettono i dati nel buffer e si scrivono i dati del buffer nel file di destinazione. Infine, Kill() eliminerà definitivamente il file. ricordate di inserire Imports System.IO per poter usare la funzione IngAC_FILE_TAGLIA.

Nota: al posto di Kill() si potrebbe inserire File.Delete() che non supporta l’uso di caratteri jolly oppure My.Computer.FileSystem.DeleteFile() che permette la scelta di spostare i file nel cestino di windows.

Link utili:

Tagliare File - Codice VB.NET

Tagliare File – Codice VB.NET






Random Post

Le stazioni della metropolitana di Mosca

La metropolitana di Mosca: stazioni che sono vere e proprie opere d’arte. La metropolitana di Mosca è lunga oltre 300 km con una rete che si sviluppa quasi interamente nel sottosuolo della cit...

Vai al post...

Opere edilizie e procedure da seguire

Opere edilizie e procedure burocratiche da seguire per la loro realizzazione. Il panorama che si apre al progettista ingegnere ormai è veramente ampio e variegato per quanto riguarda i rapporti buro...

Vai al post...

PREVISIONE LOTTO n° 66 di 150 per MARTEDÌ 9 MAGGIO 2017

PREVISIONE LOTTO n° 66 di 150 per MARTEDÌ 9 MAGGIO 2017 Esito della previsione precedente:2)PALERMO: 1euro 10elotto; 3)PALERMO: 1euro 10elotto. Previsione “beta V3” test precedente: 6)G...

Vai al post...

Bicicletta – Interpretazione dei sogni

La bicicletta nei sogni: significati, interpretazioni e numeri della smorfia associati. La bicicletta è uno dei mezzi per spostarsi usato sia dai bambini e dagli adulti. Proprio per questo è un s...

Vai al post...
Disclaimer:


Questo blog NON è un prodotto editoriale ai sensi della legge n° 62 del 7 marzo 2001. Le immagini tratte da internet che possano violare i diritti di autore, previa comunicazione, attraverso la sezione -contatti-, verranno prontamente rimosse o sostituite.

Copyright:


I contenuti presenti su ROMOLETTO BLOG dei quali è autore il proprietario del blog non possono essere copiati, riprodotti, redistribuiti perché appartenenti all autore stesso. Si vieta la copia e la riproduzione dei contenuti in qualsiasi modo o forma. Si vieta altresì la pubblicazione e la redistribuzione dei contenuti non autorizzata espressamente dell autore.


Copyright © 2011 / 2017 - ROMOLETTO BLOG - All Right Reserved

IngAC

Informazioni su Romoletto

Ingegnere Civile, Blogger, Programmatore VB.NET, Lezioni private per scuole medie inferiori e superiori. Per contattarmi scorri la home fino in fondo e vai al form -Contatti-

Navigazione per Articoli della stessa Categoria