我应该如何将文件加载到我的 Java 应用程序中?

2022-08-31 13:51:42

我应该如何将文件加载到我的 Java 应用程序中?


答案 1

简短的回答

使用以下两种方法之一:

例如:

InputStream inputStream = YourClass.class.getResourceAsStream("image.jpg");

--

长答案

通常,人们不希望使用绝对路径加载文件。例如,如果您可以提供帮助,请不要执行此操作:

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

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

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

请改用类中的方法。这使得应用程序更具可移植性。它可以移动到不同的平台,计算机或目录,并且仍然可以正常工作。getResource()Class


答案 2

getResource很好,但是使用相对路径也可以工作,只要您可以控制工作目录的位置(通常可以控制)。

此外,关于分隔符的平台依赖性可以使用File.separator,File.separatorCharSystem.getProperty(“file.separator”)来实现