您好我正在尝试设置扫描仪来打印文本文件的内容。这是我的代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ScannerReadFile {
public static void main(String[] args) {
// Location of file to read
File file = new File("CardNative.java.txt");
try
{
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine())
{
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
我在项目中创建了一个源文件夹,并将文本文件放在那里。但是我一直收到这个错误:
java.io.FileNotFoundException: CardNative.java.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.util.Scanner.<init>(Scanner.java:636)
at ScannerReadFile.main(ScannerReadFile.java:14)
答案 0 :(得分:4)
您可以使用use System.out.println(System.getProperty("user.dir"));
查看Java默认查找文件的文件夹。
如果文件不存在,则必须指定文件的完整路径。
答案 1 :(得分:1)
这应该有用。
public static void main(String[] args) {
Scanner scanner = new Scanner(ScannerReadFile.class.getResourceAsStream("CardNative.java.txt"));
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
}
}
答案 2 :(得分:0)
您需要确保将文件放在运行程序的目录中。尝试在main函数的顶部添加它,以查看当前目录是什么,以及您的文件是否实际位于该目录中:
的System.out.println(System.getProperty( “user.dir来”));
答案 3 :(得分:0)
new File(String pathname);
您正在使用的moneytructor将filepath作为参数,绝对或相对。如果是相对的,则它将是执行路径/ your_string。 因此,您应该将文件放在与编译的.jar文件相同的文件夹中。
File file1 = new File("text.txt");
File file2 = new File("D:/documents/test.txt");
如果程序正在从C:/programms/myprj.jar执行,那么 file1将打开&#34; C:/programms/test.txt"和file2将打开&#34; D:/documents/test.txt"独立于执行路径。
http://docs.oracle.com/javase/7/docs/api/java/io/File.html#File(java.lang.String)
答案 4 :(得分:0)
我在评论中发表了我的回答但我不能发表评论,因为我没有足够的声誉。与评论中一样,您在文件路径中使用反斜杠。而是使用双反斜杠\或一个前进/。例如C:/java/file.txt 您应该为它提供文件的正确和实际路径,或者确保文件位于源文件所在的位置。
public class ScannerReadFile {
public static void main(String[] args) {
// Location of file to read
File file = new File("C:/Users/EastCorporation/Desktop/CardNative.java.txt");
try {
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}