0
File f = new File(filePath);

    RandomAccessFile rf=null;
    String firstLine="";
    if (f.isFile() && f.length() > 0) {
        rf = new RandomAccessFile(f, "r");

            rf.seek(0);
        firstLine = rf.readLine();
        rf.close();

上記のコードは、Java コンストラクターでファイルから読み取るために使用されます。同じファイルが異なるスレッドによって同時に開かれる可能性があります。今、私は C# でコードを作成していますが、Java のような File クラスは存在しません。ここで File クラスのコンストラクターは何をしているのか、また単に以下を使用するメソッドとどのように異なるのかをお聞きしたいと思います。

StreamReader sr = File.OpenText(path)

そして、ファイルから読み取る行だけが最初の行である場合に、実際にランダムアクセスファイルが使用されるのはなぜですか。異なるスレッドが存在するため、1 つのスレッドがファイルの読み取りまたは書き込みを行っているときに、別のスレッドもファイルの読み取りを行っている可能性があります。C# で許可するにはどうすればよいですか

4

1 に答える 1

0

これでうまくいくと思います:

System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt");
string firstLine = file.ReadLine();
file.Close();
于 2012-09-04T17:41:19.553 に答える