Wil*_*ill 55
简短的回答
使用以下两种方法之一:
例如:
InputStream inputStream = YourClass.class.getResourceAsStream("image.jpg");
Run Code Online (Sandbox Code Playgroud)
-
答案很长
通常,人们不希望使用绝对路径加载文件.例如,如果您可以帮助它,请不要这样做:
File file = new File("C:\\Users\\Joe\\image.jpg");
Run Code Online (Sandbox Code Playgroud)
由于至少两个原因,不建议使用此技术.首先,它创建了对特定操作系统的依赖,这阻止了应用程序轻松移动到另一个操作系统.Java的主要优点之一是能够在许多不同平台上运行相同的字节码.使用这样的绝对路径会使代码的可移植性降低.
其次,根据文件的相对位置,此技术可能会创建外部依赖关系并限制应用程序的移动性.如果文件存在于应用程序的当前目录之外,则会创建外部依赖关系,并且必须知道依赖关系才能将应用程序移动到另一台计算机(容易出错).
相反,使用类中的getResource()方法Class.这使应用程序更加便携.它可以移动到不同的平台,机器或目录,并仍然可以正常运行.
getResource很好,但是使用相对路径也可以正常工作,只要你可以控制工作目录的位置(你通常可以).
此外,可以使用File.separator,File.separatorChar或System.getProperty("file.separator")获得有关分隔符的平台依赖性.
你在为什么加载文件 - 配置或数据(如输入文件)或资源?
BufferedReader file = new BufferedReader(new FileReader(filename))然后使用file.readLine(); 不要忘记关闭文件来读取文件的每一行.| 归档时间: |
|
| 查看次数: |
150309 次 |
| 最近记录: |