我有几个.dat文件,我的程序读取输入和输出。它们存储在项目文件夹中。我将如何读取和写入这些文件,路径是什么?我希望能够压缩项目并将其发送给其他人使用,这样我就无法对路径进行硬编码,因为其他人可能不会将其放在同一条路径中
现在我正在使用扫描仪和文件类:
String input= "E:\\CProj01\\input.dat";
Scanner scannerInput = new Scanner(new File(input));
答案 0 :(得分:3)
是的!您可以使用ClassLoader
如果您将文件保存在项目目录中的相对位置,则可以执行以下操作:
getClass().getClassLoader().getResourceAsStream("relative file path here")
然后您可以使用返回的InputStream
对象来解析文件。
ClassLoader
允许您保存所有文件相对于项目根目录,因此如果您的文件组织如下:
src_
|___files_
| -'yourfile.dat'
| -'anotherfile.dat'
|___java_
使用yourfile.data
String
参数引用files/yourfile.dat
无论在何处部署/下载/移动包,都会将该文件作为流提供给您。
答案 1 :(得分:1)
是的,如果您将其作为可以使用和编辑的Java项目发送,那么您可以创建一个resources
文件夹,您只需获取文件路径
String input= "src/resources/input.dat";
Scanner scannerInput = new Scanner(new File(input));
答案 2 :(得分:0)
您可以尝试使用JFileChooser。
https://docs.oracle.com/javase/7/docs/api/javax/swing/JFileChooser.html