2014-10-12 5 views
0

У меня есть проблемы запуска кода в CMDИсключение в потоке «основного» java.io.FileNotFoundException:

оба класса и Java-файлы находятся в том же каталоге

C:\testing\Testing.java 

C:\testing\Testing.class 

C:\testing\test.txt 

Вот следующие командная клавиша I в:

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 

Test.txt

# Показать содержимое test1 test2

Могу ли я узнать, как решить эту проблему вопрос?

+1

Вы имеете в виду 'java Testing

+1

Это поможет, если вы предоставите короткий, но * полный * пример - код, который у вас есть, не компилируется на данный момент, потому что он относится к классу, для которого вы не предоставляете код. –

+0

Действительно - если вы запустите 'java Testing> test.txt', то он ждет вашего ввода. –

ответ

2

Предполагая, что команды вы выполняющийся фактически

java Testing < test.txt 

В основном это означает: выполнить Testing класс, и, при чтении из System.in, не читают то, что входит пользователь, но то, что находится внутри файл test.txt.

Поскольку файл test.text содержит # Show contents, и так как ваш класс читает одну строку из System.in и рассматривает, что в качестве имени файла, он эффективно пытается прочитать из файла с именем # Show contents, который не существует, следовательно, исключение.

Смежные вопросы