4

java.io.FileNotFoundExceptionディレクトリに存在することがわかっているファイルを見つけようとしているときに、なぜエラーが発生するのか、誰かが知っているのでしょうか。

次のことが関係していると思いますが、私が正しいかどうか、または他に何かある場合はお知らせください。

  1. JVM を 1.7 から 1.6 にダウングレードしました
  2. ファイル名には疑問符が 2 つ含まれているため、ファイル名は次のようになります。filename_?)?.data

私が JVM 1.7 を使用していたとき、プログラムはファイルを見つけて開くことができました。ただし、1.6 にダウングレードした後、この特定のファイルが見つからないようです。したがって、JVM 1.6 は疑問符が含まれるファイルを読み取れないのではないかと考えています。

また、私はダブル/トリプルチェックを行い、プログラムが探しているディレクトリにファイル存在します (そこにある他のファイルも見つけることができます)。

以下は私のコードです:

public Object readFromFile(String fileName) {
    // Check for null
    if (fileName == null || fileName.equals("")) return null;

    Object obj = null;
    ObjectInputStream input = null;

    // Open file into (input)
    try {
        input = new ObjectInputStream(new FileInputStream(fileName + ".data"));
    } catch (IOException e) {
        e.printStackTrace();
    }

    // Read content of file into (obj)
    try {
        obj = input.readObject();
        input.close();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return obj;
}
4

1 に答える 1