2013-09-24 5 views
4

Есть ли способ получить имя файла (spc.f), учитывая объект FileReader (f1)?Получить имя файла из объекта FileReader

Какая хорошая практика кодирования, если вы хотите запомнить имя файла для последующего использования - сохранить его в другой строке?

FileReader f1 = new FileReader("spc.f"); 
buffread1 = new BufferedReader (f1); 
String name = f1.getName(); // <------ Does something like this exist ?? 
+1

Не думаю, что это может быть сделано .. – MadProgrammer

+2

Вы можете получить имя файла из объекта 'File' но не от объекта FileReader. –

+0

Но у вас уже есть имя файла, почему он вам нужен от filereader? filename - это вход, который вы предоставили FileReader, поэтому вы можете обрабатывать его как нужно –

ответ

2

Используйте следующий код и используя java.io.File объект, который вы можете получить имя файла

File file = new File("spc.f"); 
FileReader reader = new FileReader(file); 
file.getName(); 
+0

hmm .. Есть ли еще какие-то непредвиденные преимущества использования объекта File? Кажется, он делает явным, что мы имеем дело с файлами, а не с строками. – Nik

+0

Я не вижу, как это ответ. Он требует, чтобы вы отслеживали объект File и поэтому так же полезны, как отслеживание самой строки имени файла. –

5

Вы не можете получить имя файла из объекта считывателя.

Но у вас есть имя файла как раз раньше. Таким образом, вы можете сохранить его для дальнейшего процесса. Что-то вроде этого

String file_name= "spc.f"; 
FileReader f1 = new FileReader(file_name); 
buffread1 = new BufferedReader (f1); 
String name = file_name; // 
+0

. Так что ответа все равно нет, так как вы не получили имя файла из 'FileReader'. –

+0

@GabrielNegut True Gabriel: Но он также спросил: «Какая хорошая практика кодирования, если вы хотите запомнить имя файла для последующего использования - сохраните его в другой строке?» Тогда ответ «да» с моей стороны :) –

+0

Спасибо, я угадать, сохраняя его как String OR как объект File и используя getName(). – Nik

2

Сохранить file_name в отдельном String и получить там, где вы хотите.

Вы не можете получить file_name от FileReader объект.

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