使用頻度の低いファイル操作と流れ、あなたが百度であるたびに、明確な理由もなく、ノートの不在、整理するためにそこに途中で、行に過去をコピーし、以下の期間と忘れを使用。この時間は徹底的にとかし。
まず、相続マップ
第二に、クラスファイルとフォルダの操作
ファイルとのFileInfo:ファイル操作、作成、変更、削除、移動など、操作がファイルに対して実行できる限り提供してきたことができますファイル。
ディレクトリとDirectoryInfoは:サブフォルダようにフォルダを取得すると、フォルダクラスの操作でフォルダを作成、削除、移動しています。
静的クラスでファイルとディレクトリ。違いは、同時にファイルとディレクトリは、ファイル/フォルダを操作するたびにセキュリティチェックです。ファイル/フォルダを操作すると同時に、FileInfoオブジェクトとDirectoreyInfoは、もう一度確認してください。
三、操作のライタークラス
ライター関連カテゴリ:
名前が示すように、ライターのクラスは、文字列ストリームに関連しています。ここではいくつかの対応するライター。
3.1 BinaryWriter:
コンストラクタは、ストリームを渡す必要がある、との流れは、ファイルがファイルに書き込まれます、ファイルを介して取得された場合BinaryWriterは、これを書くためのバイナリストリームです。フローはメモリを介して取得された場合、それがメモリに書き込まれます。
byte[] data = new byte[10]; using (BinaryWriter binaryWriter = new BinaryWriter(File.Open(@"c:\1.txt", FileMode.Create)))//流从文件中获取,写入流也就是写入文件 { binaryWriter.Write("a"); binaryWriter.Write(56); binaryWriter.Write(false); binaryWriter.Write(data); binaryWriter.Write('b'); binaryWriter.Flush(); } using (MemoryStream memoryStream = new MemoryStream())//流从内存中获取,写入流也就是写入内存中 { BinaryWriter binaryWriter = new BinaryWriter(memoryStream); binaryWriter.Write("a"); binaryWriter.Write(56); binaryWriter.Write(false); binaryWriter.Write(data); binaryWriter.Write('b'); binaryWriter.Flush(); data = new byte[10]; memoryStream.Seek(0, SeekOrigin.Begin); memoryStream.Read(data, 0, (int)memoryStream.Length); }
3.2 StreamWriter:
构造函数需要传递Stream或者文件路径。跟BinaryWriter很像,主要方法也是Write方法,而且他的Write方法跟BinaryWriter一样,它的写入对象也是流。
using (StreamWriter streamWriter = new StreamWriter(File.Open(@"c:\3.txt", FileMode.Create))) { streamWriter.Write("a"); streamWriter.Write(56); streamWriter.Write(false); streamWriter.Write(data); streamWriter.Write('b'); streamWriter.Flush(); }
StreamWriter和BinaryWriter的区别:
BinaryWriter:查看源码可以看到,在写入流之前,会将Int、Double、decimal、long、float的值转为字节数组,然后写入文件流。在写入string类型的,会将String类型变为四个无符号整数,这就导致在打开二进制文本的时候前面多个0100 打开文本显示的是ETO。BinaryWriter本质上将二进制写入流中。
StreamWriter:所见即所得。你写入文件中流的内容,打开文件和你看到的一样。而BinaryWriter写入到文件,打开是会乱码的。
3.3 StringWriter:
构造函数需要传递StringBuilder,将数据写入到StringBuilder中。所以StringWriter只能对字符串操作。
四、Reader操作类
跟Writer类似,相反,就不过多少了。