我只需要使用InputStream.我abc.tx通過使用File如下獲取文件名作為t ,F(xiàn)ile 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貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
首先,你正在做的事情是脆弱的:
如果
InputStream
不是,FileInputStream
它就會失敗。如果未來的 Java 版本更改了 的內(nèi)部結(jié)構(gòu)
FileInputStream
,它可能會失敗。如果您的代碼被沙盒化,它很可能會失敗。
保留/傳遞您在實(shí)例化FileInputStream
.
話雖如此,要獲得文件名,您需要使用 aFile
或Path
提取它;例如
String justTheFileName = new File(fileName).getName();
或者
String justTheFileName = Paths.get(fileName).getFileName();
添加回答
舉報(bào)
0/150
提交
取消