gpt4 book ai didi

java - Java中加载图片的高效跨平台方式

转载 作者:行者123 更新时间:2023-12-04 05:44:33 24 4
gpt4 key购买 nike

我正在学习用 Java 创建游戏,需要在动画之前加载多个图像。这就是我现在正在做的:

bg = new ImageIcon(System.getProperty("user.dir")+"/src/img/bg.jpg").getImage();

但显然它有很多缺点。首先,它看起来又长又丑,我怀疑它很慢。此外,正斜杠“/”仅适用于 Mac 或 Linux,而在 Windows 上,它将使用反斜杠。

编辑:正如下面的 Samuel Rossille 所纠正的,正斜杠“/”实际上在 Windows 上工作。

我想知道无论如何都可以加载应用程序目录中的图像并且不会更改,以更优雅的方式以及跨平台?

加载文本文件怎么样?他们有什么不同吗?

最佳答案

查看信息。在 embedded resources .请注意,大多数接受 File 的方法和构造函数也将接受 InputStreamURL .嵌入式资源是只读的。

关于文件(在极少数情况下,您可能正在使用它们并且必须从 String 形成路径)。

String fileSep = System.petProperty("file.separator");
bg = new ImageIcon(System.getProperty("user.dir")+
fileSep+
"src"+
fileSep+
"img"+
fileSep+
"bg.jpg").getImage();

这是获取使用文件系统正确分隔符的目录路径的一种方法。 File类还提供了方便的构造函数,如 new File(parent,child) 这将插入正确的分隔符。

顺便说一句,我强烈认为 J2SE 中的所有方法和构造函数都接受 String旨在代表 File路径应该被弃用。如果需要 File ,给它一个 File并完成它。

关于java - Java中加载图片的高效跨平台方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10845296/

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