Как я могу прочитать и распечатать файл в Eclipse с относительными путями? - PullRequest
0 голосов
/ 05 сентября 2011

Я пытаюсь прочитать файл в Eclipse и распечатать его.Проблема в том, что компилятор всегда говорит мне, что файл или каталог не существует.Я должен использовать относительные пути.

Соответствующая часть маршрутов проекта:

  • uva.pfc.refactoringEngine.core <- Проект <ul>
  • ...
  • src
    • uva.pfc.refactoringengine.core.actions <- Фактический пакет <ul>
    • ...
    • CreateEnumSetPlusClas.java <- Файля хочу прочитать файл EnumSetPlus.java </li>
  • ...
  • EnumSetPlus.java <- файл, который я хочу прочитать и распечатать </li>

Это код:

String total="";

File actual = new File("src/EnumSetPlus.java"); 

FileReader filereader = null; 

try { 
filereader = new FileReader(actual); 
} 
catch (FileNotFoundException e) { 
// TODO Auto-generated catch block e.printStackTrace(); 
} 

BufferedReader input = new BufferedReader(filereader); 

try { 
while ((line = input.readLine()) != null) 
{ 
total += line + "\n"; 
} 
input.close(); 
} 
catch (IOException e) {
// TODO Auto-generated catch block e.printStackTrace(); 
} 

System.out.println(total);

Мне кажется, проблема в том, что мне нужно что-то сделать, если я хочу, чтобы путь к файлу распознавался проектом de eclipse,

Не могли бы вы мне помочь ??

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 05 сентября 2011

Я бы использовал getClass().getResourceAsStream("/EnumSetPlus.txt") - это будет искать файл в корне пути к классам (это bin/, но все файлы из src идут в bin).Затем вы получаете InputStream, который вы можете адаптировать к Redaer через new InputStreamReader(stream, encoding)

1 голос
/ 05 сентября 2011

Попробуйте:

String filePath = "/EnumSetPlus.java";
File actual = new File(ClassLoader.getSystemResource(filePath).getFile()); 
1 голос
/ 05 сентября 2011

В Eclipse текущим рабочим каталогом по умолчанию является src.

Попробуйте это

File actual = new File("EnumSetPlus.txt"); 

Также я бы посмотрел и на ответ Кевина.: -)

0 голосов
/ 05 сентября 2011

Ваш пример говорит, что вы хотите прочитать файл с именем EnumSetPlus.java , но исходный код ищет файл с именем EnumSetPlus.txt .

...