猿问

如何使用Java中的InputStream从目录中获取文件名

我只需要使用InputStream.

我abc.tx通过使用File如下获取文件名作为t ,


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);

你能帮我吗,如何只获取文件名?


拉丁的传说
浏览 3724回答 1
1回答

慕妹3146593

首先,你正在做的事情是脆弱的:如果InputStream不是,FileInputStream它就会失败。如果未来的 Java 版本更改了 的内部结构FileInputStream,它可能会失败。如果您的代码被沙盒化,它很可能会失败。保留/传递您在实例化FileInputStream.话虽如此,要获得文件名,您需要使用 aFile或Path提取它;例如  String justTheFileName = new File(fileName).getName();或者  String justTheFileName = Paths.get(fileName).getFileName();
随时随地看视频慕课网APP

相关分类

Java
我要回答