抛出 IOException 后找不到文件

File Not Found after throws IOException

当我尝试从文件中读取时出现此异常:

ERROR:
Exception in thread "main" java.io.FileNotFoundException: newfile.txt (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.util.Scanner.<init>(Scanner.java:611)
    at Postal.main(Postal.java:19)


import java.util.Scanner;
import java.io.*;

public class Postal   { 

    public static void main(String[] args) throws Exception   {
        /*** Local Variables ***/
        String line;
        Scanner filescan;
        File file = new File("newfile.txt");
        filescan = new Scanner(file);
        userInfo book = new userInfo();

        /*** Loop through newfile.txt ***/
        while (filescan.hasNext())   {
          line = filescan.nextLine();
          book.addNew(line);
        }

        book.print(0);
    }

}

classScanner使用FileInputStream读取文件内容。 但是它找不到该文件,因此抛出异常。 您正在使用文件的相对路径,请尝试使用绝对路径。

提供您要创建文件的位置的绝对路径。并检查用户是否有权在那里创建文件。找到路径的一种方法是:

File f = new File("NewFile.txt");
if (!f.exists()) {
    throw new FileNotFoundException("Failed to find file: " + 
        f.getAbsolutePath());
}

试试这个打开文件:

File f = new File("/path-to-file/NewFile.txt");

改用这个:

File file = new File(getClass().getResource("newfile.txt"));