如何使用不在 java 文件所在目录中的 java 扫描文件?
例如: java 文件位于“C:\Files\JavaFiles\test.java” 但是,我要扫描的文件位于“C:\Data\DataPacket99\data.txt”
注意:我已经尝试将另一个 java 文件放在“C:\Data”目录中并将 test.java 文件用作类,但它不起作用。它仍然尝试从“C:\Files\JavaFiles”目录进行扫描。
如何使用不在 java 文件所在目录中的 java 扫描文件?
例如: java 文件位于“C:\Files\JavaFiles\test.java” 但是,我要扫描的文件位于“C:\Data\DataPacket99\data.txt”
注意:我已经尝试将另一个 java 文件放在“C:\Data”目录中并将 test.java 文件用作类,但它不起作用。它仍然尝试从“C:\Files\JavaFiles”目录进行扫描。
通过使用绝对路径而不是相对路径。
File file = new File("C:\\Data\\DataPacket99\\data.txt");
然后,您可以使用 InputStream 或类似方法编写访问该文件对象的代码。
您需要在 java.io 的东西中使用绝对路径。因此不是new File("data.txt")
,而是new File("C:/Data/DataPacket99/data.txt")
。否则,它将与当前工作目录相关,而当前工作目录本身可能在所有环境中或您所期望的环境中都不相同。
您应该使用绝对路径而不是相对路径。
您可以使用File file = new File("C:/Data/DataPacket99/data.txt");
,但如果用户在任何时候必须输入文件路径,使用文件选择器对话框可能会让您的生活更轻松。
我会试试这个:
File file = new File("../../Data/DataPacket99/data.txt");