>TextWriter outfile = File.AppendText("percorsodatabasedovescrivere");
>TextReader infile = File.OpenText("percorsoooodatabasesource");
> String Str;
>while ((Str = infile.ReadLine()) != null)
> outfile.WriteLine(Str);
> infile.Close();
> outfile.Close();
Sostanzialmente c'è un grosso errore, che è quello di utilizzare uno Stream su file di tipo Text, e questo va bene quando stai utilizzando file con all'interno testo, ma se devi leggere un altro tipo di file, devi utilizzare gli stream binari, leggere byte per byte il file.
Nel tuo caso però è ancora più semplice, non c'è bisogno di copiare il file utilizzando lo stream, in questo caso ci torna utile il buon vecchio Kernel32, che è incapsulato dal framework sotto il namespace IO più in dettaglio, quello che ti serve per copiare, cancellare, rinominare, ecc... lo trovi dentro la classe File, che appunto hai utilizzato, ma per fare la semplice copia è sufficiente che tu utilizzi il metodo .Copy qui documentato: http://msdn.microsoft.com/en-us/library/c6cfw35a.aspx
Definizione del metodo copy:
Public Shared Sub Copy ( _
sourceFileName As String, _
destFileName As String _
)
Public Shared Sub Copy ( _
sourceFileName As String, _
destFileName As String, _
overwrite As Boolean _
)
Fammi sapere se ti va bene come soluzione, altrimenti se vuoi proprio farla con gli stream, si può fare, ma non so quanto sia conveniente e comodo.
-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/