我在 CMD 中运行代码时遇到问题
public class Testing
{
public static void main(String args[]) throws TestingFormatException, IOException
{
Scanner scanner = new Scanner(System.in);
String filename = scanner.nextLine();
File input = new File(filename);
FileReader fileInput = new FileReader(input);
TestingIo file = new TestingReaderWriter();
file.read(fileInput);
}
}
类和java文件都在同一目录中
C:\testing\Testing.java
C:\testing\Testing.class
C:\testing\test.txt
以下是我键入的以下命令:
C:\testing> javac Testing.java
C:\testing> java Testing > test.txt
它告诉我这个错误
Exception in thread "main" java.io.FileNotFoundException: # Show contents
(The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileReader.<init>(FileReader.java:55)
at Mipsim.main(Mipsim.java:22)
但是当我输入这个命令时没有错误:
C:\testing> javac Testing.java
C:\testing> java Testing
C:\testing> test.txt
CLASSPATH is set to .;C:\Program Files (x86)\Java\jdk1.6.0_24\bin
测试.txt
# 显示内容 测试1 测试2
我可以知道如何解决这个问题吗?
最佳答案
假设您正在执行的命令实际上是
java Testing < test.txt
这基本上意味着:执行Testing
类,并且在从System.in
读取时,不读取用户输入的内容,而是读取测试内部的内容.txt 文件。
由于您的 test.text 文件包含 # Show content
,并且您的类从 System.in 读取一行并将其视为文件名,因此它实际上尝试从名为 # 显示内容
,该内容不存在,因此出现异常。
关于java - 线程 "main"java.io.FileNotFoundException : 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326653/