Java 有没有办法读取';它在我们的项目中,而不需要硬编码路径?

Java 有没有办法读取';它在我们的项目中,而不需要硬编码路径?,java,Java,我有几个.dat文件,我的程序读取这些文件进行输入和输出。它们存储在项目文件夹中。如何读取和写入这些文件,路径是什么??我希望能够压缩项目并发送给其他人使用,这样我就不能硬编码一条路径,因为其他人可能不会将它放在同一条路径中 现在我正在使用Scanner和File类: String input= "E:\\CProj01\\input.dat"; Scanner scannerInput = new Scanner(new File(input)); 对!!您可以使用Class

我有几个.dat文件,我的程序读取这些文件进行输入和输出。它们存储在项目文件夹中。如何读取和写入这些文件,路径是什么??我希望能够压缩项目并发送给其他人使用,这样我就不能硬编码一条路径,因为其他人可能不会将它放在同一条路径中

现在我正在使用Scanner和File类:

    String input= "E:\\CProj01\\input.dat";
    Scanner scannerInput = new Scanner(new File(input));

对!!您可以使用
ClassLoader

如果将文件保存在项目目录中的相对位置,则可以执行以下操作:

getClass().getClassLoader().getResourceAsStream("relative file path here")
然后,您可以使用返回的
InputStream
对象来解析文件

ClassLoader
允许您保留相对于项目根目录的所有文件,因此,如果您有这样组织的文件:

src_
    |___files_
    |    -'yourfile.dat'
    |    -'anotherfile.dat'
    |___java_

使用
files/yourfile.dat的
String
参数引用
yourfile.data
,无论包部署/下载/移动到何处,都会将该文件作为流发送给您。

是!您可以使用
ClassLoader

如果将文件保存在项目目录中的相对位置,则可以执行以下操作:

getClass().getClassLoader().getResourceAsStream("relative file path here")
然后,您可以使用返回的
InputStream
对象来解析文件

ClassLoader
允许您保留相对于项目根目录的所有文件,因此,如果您有这样组织的文件:

src_
    |___files_
    |    -'yourfile.dat'
    |    -'anotherfile.dat'
    |___java_

使用
files/yourfile.dat
String
参数引用
yourfile.data
,无论包部署/下载/移动到何处,都会将该文件作为流获取。

是,如果您将它作为Java项目发送,他们可以使用和编辑它,那么您可以创建一个
resources
文件夹,您只需获得如下文件路径

String input= "src/resources/input.dat";
Scanner scannerInput = new Scanner(new File(input));

是的,如果您将它作为Java项目发送,他们可以使用和编辑它,那么您可以创建一个
resources
文件夹,您只需获得如下文件路径

String input= "src/resources/input.dat";
Scanner scannerInput = new Scanner(new File(input));

你可以试试JFileChooser


您可以试试JFileChooser