電子書籍の厳選無料作品が豊富!

.NETで文字列のエンコードの仕方が知りたいです。
あと、ファイル操作についてわかりやすいホームページを探しています。

'指定したファイルに文字列を追加します
Dim filename as String = "test.txt"
Dim data as string = "美味ソ溝"

System.IO.File.AppendAllText(filename, data, System.Text.Encoding.GetEncoding("euc-jp"))



'これと同じことを以下のStreamWriterでしたいのですが、文字のエンコードの方法がわかりません。どのようにすればうまくいきますか。
Dim filename as String = "test.txt"
Dim data as string = "美味ソ溝"

Dim fs As System.IO.FileStream = System.IO.File.OpenWrite(filename)
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(fs)

sw.BaseStream.Seek(0, System.IO.SeekOrigin.End)
'書き込む前にエンコード??
sw.WriteLine(data)
sw.Flush()
sw.Close()
fs.Close()

A 回答 (1件)

/*


* Created by SharpDevelop.
* User: Administrator
* Date: 2008/07/18
* Time: 1:36
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/

namespace Q4184984A
{
class Program
{
public static void Main(string[] args)
{
string filename = "test.txt";
string data = "美味ソ溝";
/* FileStream経由しなくて良ければこんな面倒くさい手は取らない。(StreamWriterのコンストラクタでAppendが指定できる。) */
/*
面倒くさいからファイルがなかったときとかの例外処理は省略
詳しいサイトも知らん。
*/
System.IO.FileStream fs = System.IO.File.Open(filename,System.IO.FileMode.Append); /* OpenWriteだとappend出来ない */
System.IO.StreamWriter sw = new System.IO.StreamWriter(fs,System.Text.Encoding.GetEncoding(51932)); /* 書き込むたびに文字符号化方式を指定することは出来ない模様 */
sw.AutoFlush = false;
sw.Write(data);
sw.Flush();
sw.Close();
fs.Close();
}
}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!