如何找到使用 FileOutputStream 创建的文件的路径

how to find the path of file created using FileOutputStream

我使用 FileOutputStream 创建了一个文件,它是一个 excel 文件(使用 HSSF Liberary)

FileOutputStream fileOut = new FileOutputStream(text+".xls");

然后我在 excel 文件(工作簿)中写下我需要的内容,然后关闭文件

workbook.write(fileOut);
fileOut.flush();
fileOut.close();

关闭它后我需要向用户显示文件的路径,(我知道它在我的应用程序的文件夹中创建但我仍然需要向用户显示它,也许通过 joption/message 框)

我试过了:

String absolutePath = fileOut.getAbsolutePath();
JOptionPane.showMessageDialog(null, absolutePath);

但是它显示错误,它说找不到方法 "getAbsolutePath"。我应该怎么办 ?无论如何我可以得到这条路吗?

使用new File(text+".xls").getAbsolutePath()。 FileOutputStream 不允许访问底层文件。

您应该养成阅读 the javadoc 的习惯,而不是尝试随机方法。然后您将看到哪些方法存在,哪些方法不存在。

您可以更改代码以使用文件作为中介。

File myFile = new File(text + ".xls");
FileOutputStream fileOut = new FileOutputStream(myFile);

然后获取路径:

String absolutePath = myFile.getAbsolutePath();

确保在完成后关闭流:

fileOut.close();

但理想情况下,您不应该只在碰巧设置了 Java 路径的地方创建文件。您可能应该重新考虑这一点,而是询问用户他们想要保存文件的位置。