2013-03-06 1 views
1

У меня есть JFileChooser объект, используемый для получения файла данных от пользователя. Мне нужно создать файл и PrintWriter объект, чтобы я мог записать в файл с именем «output.txt». Файл должен быть записан в тот же каталог, из которого был извлечен файл данных.Использование PrintWriter и файла для записи в выходной файл

До сих пор я пытался:

// Write to a text file` 

File file = new File ("output.txt"); 
PrintWriter printWriter = new PrintWriter (f); 

Этот фрагмент кода создает выходной файл, но мне нужно это записать в тот же каталог, из которого данные файла пришли.

Первые мысли заключались в вызове метода .getPath() (см. Ниже) объекта JFileChooser.

String fileDir = inputFile.getPath(); 
String fileName = "output.txt"; 
File f = new File (fileDir + "/" + fileName); 
PrintWriter printWriter = new PrintWriter (f); 

Мысли?

ответ

4

inputFile.getPath() доставит вам путь к файлу. Вам понадобится inputFile.getParent(), который предоставит вам каталог файла.

String fileDir = inputFile.getParent(); 
String fileName = "output.txt"; 
File f = new File (fileDir,fileName); 
PrintWriter printWriter = new PrintWriter (f); 
+3

Вы можете использовать 'new File (fileDir, fileName)', нет необходимости в конкатенации. Из файла '' File (String, String) '] (http://docs.oracle.com/javase/7/docs/api/java/io/File.html#File (java.io.File,% 20java.lang .String)) –

+0

@LuiggiMendoza да хорошая точка даже для предотвращения ошибок. – deadlock

+0

Неисправность API. Спасибо за разъяснения! – Jonathan