当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 11 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-09 11:49 

注册: 2008-09-06 10:04
帖子: 509
送出感谢: 0 次
接收感谢: 0 次
代码:
turtle = new RotatableImage("/home/chenwl/abc.png", this); // TODO 修改路径


目录结构如下
代码:
src |
     - UI \
            |--drawingBoard.java
            |--others.java
     +test |
     -resource \
                      |--abc.png
                      |--others.png


该怎么改阿?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-09 16:49 
头像

注册: 2008-02-23 17:31
帖子: 401
送出感谢: 0 次
接收感谢: 1
src放在那里啊?
. 是当前路径
.. 是上级路径

假设你调用图片是UI下的drawingBoard.java,那就写(一个点代表UI/,两个点代表src)

代码:
turtle = new RotatableImage("../resource/abc.png", this); // TODO 修改路径


_________________
My Blog: matlab, ubuntu, python
http://goo.gl/GDIO


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-09 17:09 

注册: 2008-09-06 10:04
帖子: 509
送出感谢: 0 次
接收感谢: 0 次
libralibra 写道:
src放在那里啊?
. 是当前路径
.. 是上级路径

假设你调用图片是UI下的drawingBoard.java,那就写(一个点代表UI/,两个点代表src)

代码:
turtle = new RotatableImage("../resource/abc.png", this); // TODO 修改路径


/home/chenwl/Studio/myproject/src --> 这是src文件夹
/home/chenwl/Studio/myproject/src/UI/DrawingBoard.java --> 这个类需要导入图片文件
/home/chenwl/Studio/myproject/src/resource/abc.png --> 这是被导入的图片文件

我试了下"../resource/abc.png"不行,可能是因为eclipse执行/opt/java/bin/java 就把/opt/java/bin/当当前目录了 :em20

用绝对路径则正常
代码:
Exception in thread "main" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
   at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
   at java.awt.image.BufferedImage.<init>(BufferedImage.java:312)
   at UI.draw.RotatableImage.<init>(RotatableImage.java:34)
   at UI.DrawingBoard.<init>(DrawingBoard.java:91)
   at UI.MainFrame.initComponent(MainFrame.java:34)
   at UI.MainFrame.<init>(MainFrame.java:29)
   at test.TestUI.main(TestUI.java:12)


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-10 16:20 

注册: 2007-11-02 10:46
帖子: 103
送出感谢: 0 次
接收感谢: 0 次
具体的解释查文档吧
RotatableImage.class.getProtectionDomain().getCodeSource().getLocation.getFile()

chenwl 写道:
libralibra 写道:
src放在那里啊?
. 是当前路径
.. 是上级路径

假设你调用图片是UI下的drawingBoard.java,那就写(一个点代表UI/,两个点代表src)

代码:
turtle = new RotatableImage("../resource/abc.png", this); // TODO 修改路径


/home/chenwl/Studio/myproject/src --> 这是src文件夹
/home/chenwl/Studio/myproject/src/UI/DrawingBoard.java --> 这个类需要导入图片文件
/home/chenwl/Studio/myproject/src/resource/abc.png --> 这是被导入的图片文件

我试了下"../resource/abc.png"不行,可能是因为eclipse执行/opt/java/bin/java 就把/opt/java/bin/当当前目录了 :em20

用绝对路径则正常
代码:
Exception in thread "main" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
   at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
   at java.awt.image.BufferedImage.<init>(BufferedImage.java:312)
   at UI.draw.RotatableImage.<init>(RotatableImage.java:34)
   at UI.DrawingBoard.<init>(DrawingBoard.java:91)
   at UI.MainFrame.initComponent(MainFrame.java:34)
   at UI.MainFrame.<init>(MainFrame.java:29)
   at test.TestUI.main(TestUI.java:12)


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-10 16:22 

注册: 2007-11-02 10:46
帖子: 103
送出感谢: 0 次
接收感谢: 0 次
如果你的java code是plugin的话,有更简单的,
Bundle.getResource("resource/abc.png").openStream()


页首
 用户资料  
 
6 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-10 16:49 

注册: 2008-09-06 10:04
帖子: 509
送出感谢: 0 次
接收感谢: 0 次
现在解决了,在eclipse里面
相对路径为"src/resource/abc.png"

这样在eclipse里可以运行了,但是Export为jar文件后就不行了,运行不了,估计还是路径的问题,因为用绝对路径就没问题。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-10 17:58 

注册: 2007-11-02 10:46
帖子: 103
送出感谢: 0 次
接收感谢: 0 次
打成jar后,abc.png被包含在jar文件中,它本身在文件系统中并不存在,这样用相对路径当然不行


页首
 用户资料  
 
8 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-10 20:01 

注册: 2008-09-06 10:04
帖子: 509
送出感谢: 0 次
接收感谢: 0 次
zxkane 写道:
打成jar后,abc.png被包含在jar文件中,它本身在文件系统中并不存在,这样用相对路径当然不行


那该怎么做?我要生成可执行文件的话。


页首
 用户资料  
 
9 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-14 22:36 

注册: 2007-11-02 10:46
帖子: 103
送出感谢: 0 次
接收感谢: 0 次
把jar混淆?
如果就是普通jar包的话,ZipFile中找到你的png文件得到ZiprEntry,通过getInputStream拿到inputstream...


页首
 用户资料  
 
10 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-15 11:23 

注册: 2008-09-06 10:04
帖子: 509
送出感谢: 0 次
接收感谢: 0 次
zxkane 写道:
把jar混淆?
如果就是普通jar包的话,ZipFile中找到你的png文件得到ZiprEntry,通过getInputStream拿到inputstream...


ZipFile中? getInputStream ... 不明白,能讲清楚点吗?


页首
 用户资料  
 
11 楼 
 文章标题 : Re: [java]想导入相对路径下的一张图片,路径该怎么写
帖子发表于 : 2009-04-15 11:27 

注册: 2007-11-02 10:46
帖子: 103
送出感谢: 0 次
接收感谢: 0 次
http://java.sun.com/j2se/1.4.2/docs/api ... p.ZipEntry)


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 11 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译