gpt4 book ai didi

由于可移植性问题,Java 加载资源(图像、音频、文本文件等)而不使用 "/"符号并使用 File.separator

转载 作者:行者123 更新时间:2023-12-02 05:30:46 24 4
gpt4 key购买 nike

我正在重写我的类,以在游戏中加载资源。我的教授告诉我们在加载资源时尽量不要在字符串/文件/URL 中使用“/”斜杠符号。我正在使用 Classname.class.getResource(someString) 来获取 URL,这样我就可以加载效果很好的资源(请参阅下面的代码)。我阅读了 class.getResource() 的 Oracle 文档,其中我必须使用 "/"。我想知道是否有比使用 ClassName.class.getResource() 更好的加载资源(主要是图像和音频文件)的方法?我对速度或内存没有任何要求。下面是我如何加载 BufferedImage 的示例。

    try {
// Example path = "/menu/background2.png"
sourceImage = ImageIO.read(ResourceManager.class.getResource(path));


} catch (IOException e) {
System.out.println("Failed to load: " + path);

e.printStackTrace();

}

最佳答案

您可以在路径中使用斜杠,但不能使用反斜杠,因为您没有使用文件路径,而不是类路径中的路径。如果您想要类的相对路径,请不要使用前导斜杠。当您使用文件路径时,您可以在路径中使用 File.separator ,但是在 URL 中您仍然可以使用斜杠。更重要的是,File.separator 在 URL 中的使用是错误的,因为它在需要转义反斜杠符号以在 URL 中使用的 Windows 系统上不起作用。

关于由于可移植性问题,Java 加载资源(图像、音频、文本文件等)而不使用 "/"符号并使用 File.separator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25566691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com