0

同じフォルダー内のファイルを宣言しましたが、「File NotFound Exeption」が表示されます。ファイル名は正しいです。ファイル情報にアクセスする他の方法を使用しようとすると、同じエラーが発生します。理由がわかりません.論理的な間違いはありますか.サイトから学びましたhttp://www.vogella.com/articles/JavaIO/article.html >

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;


public class FilesC {
    public static void main(String[] args)
    {
        String returnValue = "";
          FileReader file = null;
          String fileName = "test.txt";
          try {
            file = new FileReader(fileName);
            BufferedReader reader = new BufferedReader(file);
            String line = "";
            while ((line = reader.readLine()) != null) {
              returnValue += line + "\n";
            }
          } catch (Exception e) {
              throw new RuntimeException(e);
          } finally {
            if (file != null) {
              try {
                file.close();
              } catch (IOException e) {
                // Ignore issues during closing 
              }
            }
          }
    }
}

おかげでうまくいきましたが、もう1つ>ファイルに1行しかありません。コードに次のことを行うと

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;


public class FilesC {
    public static void main(String[] args)
    {
        String returnValue = "";
          FileReader file = null;
          String fileName = "C:\\Users\\KingKong\\Desktop\\WorkSpace\\Victory\\src\\test.txt";
            String line = "";

          try {
            file = new FileReader(fileName);
            BufferedReader reader = new BufferedReader(file);
            while ((line = reader.readLine()) != null) {
              returnValue += line + "\n";

            }
          } catch (Exception e) {
              throw new RuntimeException(e);
          } finally {
            if (file != null) {
              try {
                file.close();
              } catch (IOException e) {
                // Ignore issues during closing 
              }
            }
          }
          System.out.println(line);
          System.out.println(returnValue);

    }
}

それは私に出力を与えます:

null
myLine

これはどのように可能ですか.行が1つしかない場合、行とreturnValueは同じ値でなければなりませんか?

4

4 に答える 4

0

このループの最後の繰り返しで、次の行がクリアされます。

while ((line = reader.readLine()) != null) {
   returnValue += line + "\n";
}
于 2013-07-04T18:02:48.807 に答える
-1

要求されたファイルを開くために必要なアクセス許可がない場合、ファイルが見つからないという例外がスローされる可能性があります。

于 2013-07-04T17:59:31.617 に答える