抛出 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"));
当我尝试从文件中读取时出现此异常:
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"));