拆分路径 java_JAVA 类文件中的路径如何拆分和替换

作者分享了在Swing应用中使用绝对路径而非相对路径的挑战,包括资源查找、路径转换和跨类传递路径。通过`Thread.currentThread().getContextClassLoader().getResource()`等方法获取路径,并解决字符串替换问题。最后提到如何在不同类中传递路径值以支持跨包操作。
摘要由CSDN通过智能技术生成

我做Swing的时候文件要放绝对路径,相对路径出不来!所以我用如果我的类放在D:\aaa\Class里Thread.currentThread().getContextClassLoader().getResource("");MenuTest.class.getClas...

我做Swing的时候文件要放绝对路径,相对路径出不来!

所以我用

如果我的类放在D:\aaa\Class里

Thread.currentThread().getContextClassLoader().getResource("");

MenuTest.class.getClassLoader().getResource("");

ClassLoader.getSystemResource("");

MenuFrame.class.getResource("");

MenuFrame.class.getResource("/"); //Class文件所在路径

new File("/").getAbsolutePath(); //得到根目录 D:\

System.getProperty("user.dir"); //得到Class文件的上级目录,这里得到的值是D:\aaa

我再用一个变量来接收他的值,再连接以后的路径。我是这样做的,

假如我们已经用变量a来接收到了值;

JLabel jLabel1 = new JLabel(new ImageIcon( a + "//src//menutest//images//11.jpg"));

问题出来了!出来的是(D:\aaa//images//11.jpg)

无法显示图片,

我再想用 a = a.replaceAll("\", "//"); 字符串替换,可是不行,只要打入\就会报错,想问一下各位高手,还有其它方法吗?

我试过用相对路径!但是不行,很早就用过了!我用的是JBuilder2006,

这个转换的问题我自己已经解决了,不过还是谢谢你!

我之所以以前没的转成功,是没有了解路径在内存中存储的方方式,

比如说D:\aa这个路径,存以内存中是D:\\aa而我们要正常的转的话,不可以a = a.replaceAll("\", "//");

这样出来的就不是想要的结果了!

而要

a = a.replaceAll("\\\\", "//");

这样就可以正确的转了!这时候的结果就为D://

不过现在我让新的烦躁烦住了!

我是一个新手!刚学的!现在我在一个类文件中转好了值,但不知道怎么把值传给在同一个包中的另一个类文件中去!

比如aaa.java中main()方法中变量C的值传到bbb.java中去,可以在bbb.java是任何的类和方法都可以使用!

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值