Я создал Java-программу в Intellij Idea.Компиляция java-файла и передача файла в stdin дает ошибку
В этой программе у меня есть функция для чтения файла.
public static void main(String[] args) throws IOException {
\\Some code
readInput(args);
\\Some code
}
private static void readInput(String[] args) throws IOException {
\\Some code
BufferedReader br = new BufferedReader(new FileReader(args[0]));
\\Some code
}
Я установил Intellij файл в качестве аргумента. Файл input.txt
.
Если я запустил это, программа считывает файл и работает так, как ожидалось.
Теперь я пытаюсь добиться того же, используя командную строку Windows.
Мои файлы находятся в пакетах. Что-то вроде этого
...\Dir\packageOne\ClassOne.java
...\Dir\packageOne\ClassTwo.java
...\Dir\packageOne\ClassThree.java
...\Dir\packageTwo\ClassFour.java
...\Dir\packageTwo\ClassFive.java
`...\Dir\input.txt
Сначала я начать компиляции всех классов с помощью этой команды:
...\Dir>javac packageOne/*.java packageTwo/*.java
А потом попробуйте запустить файл так:
...\Dir>java packageOne/ClassOne < "...\Dir\input.txt"
Я Gething java.lang.ArrayIndexOutOfBoundsException: 0
в функции readInput(args);
на линии BufferedReader br = new BufferedReader(new FileReader(args[0]));
Разве это не способ скомпилировать файлы и передать файл с помощью командной строки?
вынуть '<' operator – epoch
«<» не требуется .. Его не Linux .. Ур с использованием Windows .. – TheLostMind
@epoch. Благодарю. Ты прав. Разве вы не хотите дать ответ, так как вы первым предоставили мне объяснение? – Favolas