解决方案

通常,人们不希望使用绝对路径加载文件。例如,一般不这样

File file = new File("C:\Users\Joe\image.jpg");

至少有两个原因,不建议使用此技术。首先,它创建了对特定操作系统的依赖关系,从而阻止了应用程序轻松移至另一个操作系统。 Java的主要好处之一是能够在许多不同的平台上运行相同的字节码。使用这样的绝对路径会使代码的可移植性大大降低。

其次,根据文件的相对位置,此技术可能会创建外部依赖关系并限制应用程序的移动性。如果文件存在于应用程序当前目录之外,则会创建一个外部依赖关系,因此必须将该依赖关系知道才能将应用程序移至另一台计算机(容易出错)。

相反,请使用Class类中的getResource()方法。这使应用程序更加可移植。可以将其移至不同的平台,机器或者目录,并且仍可以正常运行。

使用以下两种方法之一:

  • Class.getResource(String)
  • Class.getResourceAsStream(String)

例如:

InputStream inputStream = YourClass.class.getResourceAsStream("image.jpg");
如何将文件加载到Java应用程序中?
日期:2020-03-25 09:51:46 来源:oir作者:oir