我只需要使用InputStream
从目录中获取文件名。
我通过使用abc.tx
如下获得文件名File
,
File file = new File("F:\\source\\abc.txt");
file.getAbsoluteFile().getName() // getting - abc.txt
以同样的方式,我想使用abc.txt
来获得与上述完全相同的文件名InputStream
。
InputStream inputfile= new FileInputStream("F:\\source\\abc.txt");
Field field = inputfile.getClass().getDeclaredField("path");
field.setAccessible(true);
String filePath = (String)field.get(inputfile);
File fileName = new File(filePath);
请帮助我,如何仅获取文件名?
答案 0 :(得分:1)
首先,您正在做的事情很脆弱:
InputStream
不是FileInputStream
,它将失败。FileInputStream
的内部结构,则可能会失败。保留/传递实例化FileInputStream
时使用的参数值会更好。
已经说过,仅获取文件名,您需要使用File
或Path
来提取文件名;例如
String justTheFileName = new File(fileName).getName();
或
String justTheFileName = Paths.get(fileName).getFileName();