C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■87614 / 親階層)  C# seekでの読み込み位置変更について
□投稿者/ mau (1回)-(2018/06/14(Thu) 02:00:44)

分類:[C#] 

VisualStudio Community 2017
を使用しています。

以下のデータとソースを作成しました。
予想では、読み込みデータは1行目、5行目、10行目と
出力してほしかったのですが、
1,2,3行目が出力してしまいます。



sample.csvの中身
1,100
2,200
3,300
4,400
5,500
6,600
7,700
8,800
9,900
10,1000


        private void button1_Click(object sender, EventArgs e)
        {
/**/
            // sampleファイルオープン
            var fs = new FileStream(@"C:\Users\mau\sample.csv", FileMode.Open, FileAccess.Read);
            var sr = new StreamReader(fs, Encoding.Default);

            // 書き込み用ファイルオープン
            StreamWriter sw = new StreamWriter(@"C:\Users\mau\sample_new.csv", true, Encoding.GetEncoding("shift_jis"));
            sw.WriteLine("fpos,no,row");

            //現在のfsの位置
            long fpos = fs.Position;
            // 1行目読み込み
            var buf = sr.ReadLine();
            sw.WriteLine(fpos +","+ buf +","+ fs.Position);
            byte[] st = new byte[20];

            // 5行目読み込み
            fpos = 0;
            fpos = fpos + (buf.Length + 1) * 5;
            fs.Seek(fpos, SeekOrigin.Begin);
            var buf = sr.ReadLine();

            buf = sr.ReadLine();0
            sw.WriteLine(fpos + "," + buf + "," + fs.Position);

            // 10行目読み込み
            fpos = 0;
            fpos = fpos + (buf.Length + 1) * 10;
            fs.Seek(fpos, SeekOrigin.Begin);
            buf = sr.ReadLine();
            sw.WriteLine(fpos + "," + buf + "," + fs.Position);
            fs.Close();
            sr.Close();
            sw.Close();
        }
    }
}

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: C# seekでの読み込み位置変更について /Azulean
→Re[1]: C# seekでの読み込み位置変更について /?????
→Re[1]: C# seekでの読み込み位置変更について /WebSurfer
 
上記関連ツリー

C# seekでの読み込み位置変更について / mau (18/06/14(Thu) 02:00) #87614 ←Now
Re[1]: C# seekでの読み込み位置変更について / Azulean (18/06/14(Thu) 06:25) #87615
│└ Re[2]: C# seekでの読み込み位置変更について / Hongliang (18/06/14(Thu) 09:22) #87616
Re[1]: C# seekでの読み込み位置変更について / ????? (18/06/14(Thu) 09:34) #87617
│└ Re[2]: C# seekでの読み込み位置変更について / にゃるら (18/06/14(Thu) 09:36) #87618
Re[1]: C# seekでの読み込み位置変更について / WebSurfer (18/06/14(Thu) 12:15) #87628

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信