| 分類:[C#]
初めまして C#初心者です。
開発環境はVS Community 2017です。
1ギガ以上の1行でつながったファイルがあり、それを特定のバイト数で読みたいと思い、 このようなプログラムを書きました。
private void button1_Click(object sender, EventArgs e) {
// ファイルオープン FileStream fs = new FileStream(@"C:\bigdata", FileMode.Open, FileAccess.Read);
// 書き込み用ファイルオープン StreamWriter sw = new StreamWriter(@"C:\newdata.txt", false, Encoding.GetEncoding("shift_jis"));
byte[] buf = new byte[1000]; int bufpos = 0; for(;;) { int readSize = fs.Read(buf, bufpos, buf.Length); if(readSize == 0) { break; } bufpos += 1000; string text = System.Text.Encoding.GetEncoding("SHIFT-JIS").GetString(buf); string val = text.Substring(10, 10); sw.WriteLine(val); } // ファイルクローズ fs.Close(); sw.Close(); } }
1回目のループでは問題ありませんが、2回目のfs.Readで以下のエラーがでます。
「例外はハンドルされていません。」
どのように修正すればよろしいでしょうか? よろしくお願いします。
|