|
分類:[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で以下のエラーがでます。
「例外はハンドルされていません。」
どのように修正すればよろしいでしょうか?
よろしくお願いします。
|