0

「ファイルが見つからない例外」が発生し続けますが、そこにあることはわかっています! File file = new File("C:\\A-small-practice.in");ファイルをうまく見つけることができますが、使用しようとするFileInputStreamと例外が返されます。

import java.io.*;

public class Solution {

    public static void main(String[] args) {

       File file = new File("C:\\A-small-practice.in");
       System.out.println(file.getAbsolutePath()); //prints C:\A-small-practice.in

       FileInputStream fstream = new FileInputStream(file);
    }
}
4

2 に答える 2

2

ファイルには、役立つメソッドがいくつかあります。

boolean canExecute();
boolean canRead();
boolean canWrite();
boolean exists();
boolean isFile();
boolean isDirectory();
boolean isAbsolute() 

たとえば、次を確認できます: exists() && isFile() && canRead() ファイルを読み取れない理由に応じて、より適切なエラー メッセージを出力します。

于 2012-07-27T15:30:37.573 に答える
0

あなたが書くとき:

   File file = new File("C:\\A-small-practice.in");

ファイルが存在しない場合はファイルが作成されるため、file.getAbsolutePath() を呼び出したときに例外が発生する理由はありません。

ただし、ファイルが存在しない場合、存在しないファイルの入力ストリームを開こうとすると、ファイルが見つからないという例外がスローされます。したがって、私の提案は、.exsits() を呼び出してみることです。ファイルが存在するかどうかを確認します。

また、ファイルが見つからない例外のJavaドキュメントには、次のように記載されています。「ファイルが存在するが、何らかの理由でアクセスできない場合にも、これらのコンストラクタによってスローされます」したがって、おそらくファイル自体に関する情報を共有する必要があります。

于 2012-07-27T16:07:13.290 に答える