我在打开文件时使用此方法,但是当我打开我的项目时,它将无法运行,因为它来自mac设备。我在哪里存储txt文件以及我应该写什么而不是
(new File("D:\\description.txt"));
方法
Scanner inStream = null;
try {
inStream = new Scanner(new File("D:\\description.txt"));
}
catch (FileNotFoundException e) {
System.out.println("Erorr openenig the file");
}
while (inStream.hasNextLine ()) {
String line = inStream.nextLine();
System.out.println(line);
}
答案 0 :(得分:1)
您可以单独使用或组合使用的几种方法:
应该可以配置的硬编码元素。使路径可配置,意味着您可以根据您所在的平台拥有不同的东西。
如果文件是属于 分发的文件,请确保它存储在类路径中,并使用YourClass.class.getResourceAsStream("/description.txt")
访问它;其中YourClass是您的发行版中的一个类。 resource是相对于类的位置(YourClass)的路径,因此如果您希望它位于类路径的根目录,则需要使用正斜杠“/”作为前缀。在这里,您不必担心操作系统约定(正向和反向斜杠)。正如其他人所说,在这种情况下你可能不应该认为你的文件是可写的。
另一种用于存储配置但特定于一个用户的方法的典型方法是将其存储在自动解析的默认路径位置。一个很好的例子是Java System Property "user.home"。对于Windows环境,它将解析为%HOME%环境变量(类似于/User/myuserid
)。