如何在java中扫描不同目录中的文件?

如何在java中扫描不同目录中的文件?,java,file,directory,java.util.scanner,Java,File,Directory,Java.util.scanner,如何使用不在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\\D

如何使用不在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文件中使用绝对路径。因此,不是
新文件(“data.txt”)
,而是
新文件(“C:/data/DataPacket99/data.txt”)
。否则,它将与当前工作目录相关,而当前工作目录本身在所有环境或您期望的环境中可能都不相同。

我将尝试以下方法:

File file = new File("../../Data/DataPacket99/data.txt");

您应该使用绝对路径而不是相对路径


您可以使用
File File=new文件(“C:/Data/DataPacket99/Data.txt”)
但是如果用户在任何时候都必须输入文件路径,那么将来使用if可能会使您的生活变得更轻松。

java IO在这里介绍了很多:您使用的是相对路径还是绝对路径?我认为您应该避开斜杠;c:\\data\\DataPacket99\\data.txt您肯定不想在Java字符串中使用反斜杠作为路径名分隔符!转义或更好的方法是使用前斜杠。除非总是希望它位于同一目录中,否则使用文件选择器可能比硬编码绝对路径更好。只需使用一个文件选择器,并使用结果句柄打开文件。噢,该死,太棒了(用于文件选择器对话框)。谢谢!