为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉丁的传说 2021-12-22 20:07:29
我只需要使用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);你能帮我吗,如何只获取文件名?
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

首先,你正在做的事情是脆弱的:

  • 如果InputStream不是,FileInputStream它就会失败。

  • 如果未来的 Java 版本更改了 的内部结构FileInputStream,它可能会失败。

  • 如果您的代码被沙盒化,它很可能会失败。

保留/传递您在实例化FileInputStream.

话虽如此,要获得文件名,您需要使用 aFilePath提取它;例如

  String justTheFileName = new File(fileName).getName();

或者

  String justTheFileName = Paths.get(fileName).getFileName();


查看完整回答
反对 回复 2021-12-22
  • 1 回答
  • 0 关注
  • 3723 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信