从FileReader对象中获取文件名

5

如何从FileReader对象(f1)中获取文件名(spc.f)?

如果您想记住文件名以备将来使用,什么是良好的编码实践 - 将其存储在另一个字符串中?

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

1
做不到的事情。 - MadProgrammer
2
你可以从 File 对象中获取文件名,但不能从 FileReader 的对象中获取。 - Vimal Bera
但是你已经有文件名了,为什么还需要从FileReader中获取它呢?文件名是您提供给FileReader的输入,因此您可以根据需要处理它。 - Pratik Shelar
3个回答

5

从读取器对象中无法获取文件名。

但是,在此之前您有文件名。因此,您可以将其存储以供进一步处理。 就像这样

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

所以答案仍然是否定的,因为您没有从“FileReader”获取文件名。 - Gabriel Negut
@GabrielNegut 确实 Gabriel:但他还问了“如果您想记住文件名以供以后使用,有什么好的编码实践 - 将其存储在另一个字符串中?” 那么从我的角度来看,答案是肯定的 :) - Suresh Atta
谢谢,我想将其存储为字符串或文件对象,并使用getName()方法。 - Nikhil
@Nik,不用谢。但我认为,仅为获取名称而创建文件对象并不高效。 - Suresh Atta

4
使用以下代码,通过 java.io.File 对象可以获取文件名。
File file = new File("spc.f");
FileReader reader = new FileReader(file);
file.getName();

嗯...使用File对象是否有其他意外的好处?它似乎明确表明我们正在处理文件而不是字符串。 - Nikhil
我不认为这是一个答案。它要求你跟踪文件对象,因此与跟踪文件名本身的效用相当。 - Klitos Kyriacou

2

file_name保存在单独的String中,并在需要时检索。

无法从FileReader对象中获取file_name


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接