我的程序读取了一些.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.data
与String
的files/yourfile.dat
参数始终可以使您将该文件作为流,无论将程序包部署/下载/移动到何处。关于java - 有没有一种方法可以读取我们项目中的文件而无需硬编码路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35662304/