2010-08-18 2 views
3
 FileWriter outFile = null; 
     try { 
      outFile = new FileWriter("member.txt"); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
out.println("test"); 

Запуск этой команды, где находится member.txt? Я использую Windows Vista. UAC включен, поэтому, когда я запускаю его, я не думаю, что он записывает в txt-файл. txt-файл создается, но он пуст.Запись в файл, где находится выходной файл?

ответ

6

Относительные пути в Java IO относятся к текущему рабочему каталогу. В Eclipse это обычно является корнем проекта. Вы также пишете out вместо outFile. Вот небольшая переписан:

File file = new File("member.txt"); 
    FileWriter writer = null; 
    try { 
     writer = new FileWriter(file); 
     writer.write("test"); 
    } catch (IOException e) { 
     e.printStackTrace(); // I'd rather declare method with throws IOException and omit this catch. 
    } finally { 
     if (writer != null) try { writer.close(); } catch (IOException ignore) {} 
    } 
    System.out.printf("File is located at %s%n", file.getAbsolutePath()); 

Закрытие является обязательным, так как он смывает записанные данные в файл и снимает блокировку файла.

Нет необходимости говорить о том, что использование относительных путей в Java IO - это плохая практика. Если вы можете, скорее используйте classpath. ClassLoader#getResource(), getResourceAsStream() и так далее.

4

Если файл успешно создан (исключение не создано), оно находится в текущем рабочем каталоге.

0

Это зависит от используемой вами среды IDE. Обычно он входит в тот же каталог, в котором находится файл.java. Я думаю, что такие программы, как Eclipse и Netbeans, могут подбрасывать их в другой каталог.

0

Если вы работаете с Eclipse, текущий рабочий каталог станет базовым каталогом вашего проекта (просмотрите свойства проекта, чтобы найти это местоположение на диске). Вы должны увидеть файл в Project Explorer, обновив проект (щелкните по проекту и нажмите F5).

Вы можете указать альтернативный рабочий каталог из диалогового окна «Запуск конфигурации» на вкладке «Аргументы».

2

Для класса Java вы совершающие, щелкните правой кнопкой мыши на файле и выберите «Run As -> Run Configurations ...»

В этом окне перейдите на вкладку «Аргументы». В нижней части экрана найдите параметр «Рабочий каталог». Это каталог, из которого будет запускаться ваш Java-класс.

В вашем примере вы создаете «member.txt» в текущем каталоге, поэтому он будет отображаться в любом месте, в котором установлен «Рабочий каталог».

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