我的程序读取了一些.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_


引用yourfile.dataStringfiles/yourfile.dat参数始终可以使您将该文件作为流,无论将程序包部署/下载/移动到何处。

关于java - 有没有一种方法可以读取我们项目中的文件而无需硬编码路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35662304/

10-12 00:38
查看更多