Используя eclipse, у меня есть файл под названием bad_words.txt в папке проекта под названием HackGSU. Я хочу найти файл и прочитать содержимое файла. Я видел этот ответ how to read text file relative path и я попытался это:Как прочитать файл, который находится в папке проекта java
private static String words[][] = new String[3][];
private static int ok = 17 + 2; //Add two for comment & empty line in text file
private static int med = 26 + 2; //Add two for comment & empty line in text file
private static int bad = 430 + 1; //Add one for comment in text file
private static String p = new File("").getAbsolutePath();
public static String[][] openFile() {
p.concat("/HackGSU/bad_words.txt");
//Set the a limit for the amount of words in each row
words[0] = new String[getOk()];
words[1] = new String[getMed()];
words[2] = new String[getBad()];
//Read the text file to add bad words to an array
try {
FileReader fr = new FileReader(p);
//Wrap file
BufferedReader br = new BufferedReader(fr);
//Add each line of file into the words array
for(int i = 0; i < words.length; i++) {
for(int j = 0; j < words[i].length; j++) {
try {
words[i][j] = br.readLine();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
}
catch (FileNotFoundException e1) {
e1.printStackTrace();
}
return words;
}
Но я получил этот отслеживающий:
java.io.FileNotFoundException: C:\Users\nbrow_000\workspaceProjects\HackGSU (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at gsu.hack.harassment.BadWords.openFile(BadWords.java:28)
at gsu.hack.harassment.HarassFilter.<clinit>(HarassFilter.java:10)
at gsu.hack.harassment.CheckPercentage.main(CheckPercentage.java:20)
Exception in thread "main" java.lang.NullPointerException
at gsu.hack.harassment.HarassFilter.checkHarass(HarassFilter.java:23)
at gsu.hack.harassment.CheckPercentage.main(CheckPercentage.java:20)
Я тоже так этот ответ How to read a text file directly from Internet using Java?, но у меня была проблема с конструктором URL.
Если я поместил локальный путь к файлу (C: //.../bad_words.txt), он работает нормально, но как я могу заставить программу читать файл, чтобы, если я упакую программное обеспечение, он все равно будет найти правильный путь к файлу.
изменить на 'HackGSU/bad_words.txt' – emotionlessbananas
Является ли' HackGSU' папкой проекта? или подпапка в нем? – c0der
'p.concat ("/HackGSU/bad_words.txt ")' не будет работать, как вы могли бы исключить. Строки неизменяемы. 'concat' не добавляет что-то в' p', а возвращает новую строку. Перейдите в 'p + ="/HackGSU/bad_words.txt "' –