read_file
Read a file
If you need to read or write to files and wish to keep the entire file in memory, you can use the static methods of the System.IO.File class:
(the following static methods are only a small fraction of the functionality this class offers - please read the full documentation of this class!)
- ReadAllBytes() will return you a byte array of the specified file
- ReadAllLines() will return a string array of all lines of the specified file
- ReadAllText() will return a string with the content of the file
- WriteAllBytes() will write the specified byte array to the file
- WriteAllLines() will write the string array to the file
- WriteAllText() will write the string to the file
Please pay attention to the encoding with all methods that deal with strings. All these methods have a version that lets you specify the enconding, and one without. You should prefer to specify it!
A sample:
using System.Text using System.IO local cString as string local aBytes as byte[] local cBuffer as string cString := "Hello world!" File.WriteAllText( cFileName, cString ) aBytes := File.ReadAllBytes( cFileName ) cBuffer := System.Text.Encoding.Default:GetString( aBytes ) System.Console.WriteLine( "Bytes, without:" + cBuffer + ", file length: " + FileInfo{ cFileName }:Length:ToString() ) File.WriteAllText( cFileName, cString, Encoding.ASCII ) aBytes := File.ReadAllBytes( cFileName ) cBuffer := System.Text.Encoding.ASCII:GetString( aBytes ) System.Console.WriteLine( "Bytes, ASCII:" + cBuffer + ", file length: " + FileInfo{ cFileName }:Length:ToString() ) File.WriteAllText( cFileName, cString, Encoding.Default ) aBytes := File.ReadAllBytes( cFileName ) cBuffer := System.Text.Encoding.Default:GetString( aBytes ) System.Console.WriteLine( "Bytes, Default:" + cBuffer + ", file length: " + FileInfo{ cFileName }:Length:ToString() ) File.WriteAllText( cFileName, cString, Encoding.Unicode ) aBytes := File.ReadAllBytes( cFileName ) cBuffer := System.Text.Encoding.Unicode.GetString( aBytes ) System.Console.WriteLine( "Bytes, Default:" + cBuffer + ", file length: " + FileInfo{ cFileName }:Length:ToString() ) File.WriteAllText( cFileName, cString, Encoding.UTF32 ) aBytes := File.ReadAllBytes( cFileName ) cBuffer := System.Text.Encoding.UTF32.GetString( aBytes ) System.Console.WriteLine( "Bytes, Default:" + cBuffer + ", file length: " + FileInfo{ cFileName }:Length:ToString() ) cBuffer := System.Text.Encoding.ASCII.GetString( aBytes ) System.Console.WriteLine( "Bytes, Default:" + cBuffer + ", file length: " + FileInfo{ cFileName }:Length:ToString() )
read_file.txt · Last modified: 2018/01/27 20:35 by wolfgangriedmann