У меня есть простая java-программа, которая отлично работает в eclipse, но не может найти .txt-файлы, из которых я читаю и записываю при запуске из командной строки.Я попытался изменить права доступа к файлам, но поскольку они запускаются в Eclipse, похоже, это не проблема.У меня нет опыта чтения из файлов на Java.Но я думаю, что это вопрос пути или что-то.Может кто-нибудь помочь мне исправить мой скрипт или что-то еще, чтобы он работал?
Я получаю кучу таких:
java.io.FileNotFoundException: helloState.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at bot.FileRead.readByLine(FileRead.java:33)
at bot.BuildStates.buildStates(BuildStates.java:16)
at bot.Kate.main(Kate.java:98)
Моя файловая структура выглядит следующим образом: CS317_A4 / src / myPackage / (class andисходные файлы)
Мои текстовые файлы находятся в каталоге CS317_A4, а мой скрипт находится в каталоге src (я не могу запустить программу из каталога CS317_A4
Вот мой сценарий длязапуск программы:
#!/bin/bash
set classpath=
java -cp .:.. bot.Kate
Вот как я могу открыть файл:
public LinkedList<String> readByLine(String filename) {
File file = new File(filename);
FileInputStream fis = null;
BufferedInputStream bis = null;
BufferedReader br = null;
String in;
LinkedList<String> fileLines = new LinkedList<String>();
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
br = new BufferedReader(new FileReader(file));
while(br.ready()){
/* read the line from the text file */
in = br.readLine();
/* if the line is empty stop reading */
if(in.isEmpty()){
break;
}
/* add the line to the linked list */
fileLines.add(in);
}
/* dispose all the resources after using them. */
fis.close();
bis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return fileLines;
}