文字列の入出力[]
import System.IO;
import System.Text;
// [ファイルの読み込み]
// StreamWriterのコンストラクタの第二引数は既存のファイルがある場合に追記を行うかどうか。
using(StreamWriter sw = new StreamWriter(@"c:\test.txt", false, Encoding.GetEncoding("utf-8"))){
sw.Write("Test");
}
バイナリの入出力[]
FileStreamクラスはファイルからバイト列を入力または出力するためのストリームを作成します。
// 読み込みモードでファイルオープン
FileStream rio = new FileStream(@"c:\test.txt",
FileMode.Open,
FileAccess.Read,
FileShare.Read);
// 書き込みモードでファイルオープン
FileStream wio = new FileStream(@"c:\test.txt", FileMode.OpenOrCreate, FileAccess.Write);
ストリームを使ってファイルからバイト列を読み込みます。
BinaryReader binread = new BinaryReader(rio);
rio.Seek(0,SeekOrigin.Begin);
binread.ReadBytes(10);;
XMLの書き込み(SAX)[]
SAX方式によるXMLの書き込み方法です。
主な使い方は次の通り。
- ノードの作成
- WriteStartElement("ノード名") / WriteEndElement()
- WriteValue()でノード内のTEXTに書き込むことができる。(ノード内に子ノードとTEXTの混合は別の方法を使う)
- 属性の作成
- WriteStartAttribute("属性名") / WriteEndAttribute()
- WriteValue()で属性の値を設定する。
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = " ";
settings.Encoding = Encoding.UTF8;
using (StreamWriter sw = new StreamWriter(@"c:\sample.xml", false, Encoding.GetEncoding("utf-8")))
using (XmlWriter xmlWriter = XmlWriter.Create(sw, settings))
{
xmlWriter.WriteStartElement("persons");
for(int i = 0;i < 10; i++)
{
xmlWriter.WriteStartElement("person");
xmlWriter.WriteStartElement("name"); // nameノード開始
xmlWriter.WriteValue("nameノードの中身"); // nameノードのTEXTを設定
xmlWriter.WriteEnd(); // nameノード終了
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement(); // personsノード終了
}
参照[]
- ファイルシステム操作 ファイルの移動やコピー、ディレクトリに関してはこちら。
- StringWriterクラス