Image 如何转化为 InputStream

rootcn 2005-05-07 02:51:18
如题.

用在 applet 中.
...全文
1205 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
rootcn 2005-05-09
  • 打赏
  • 举报
回复
太感谢了,之前我访问的时候少了一个 /

用这个:

myApplet.class.getResourceAsStream("images/test.gif");

访问不了。
飞行的兔子 2005-05-08
  • 打赏
  • 举报
回复
ImageIcon ii=new ImageIcon(image);
我只提供思路啊,呵呵!
将image转化成ImageIcon,然后序列华这个对象.
ObjectOutputStream oo;
oo.writeOject(ii);
说白了,就是序列化!
gtlang78 2005-05-08
  • 打赏
  • 举报
回复
YourApplet.class.getResourceAsStream("images/test.gif");
rootcn 2005-05-08
  • 打赏
  • 举报
回复
Image image = getImage(getCodebase(), "images/test.gif");
用getImage() 方法是为了将 test.gif 打包在 jar 后,还可以读取到.

new FileInputStream(image) 不可以啊.

请问哪位能给出具体的代码或思路啊.
MARS.nEIL 2005-05-08
  • 打赏
  • 举报
回复
输入流???FileInputStream...
ycybom 2005-05-08
  • 打赏
  • 举报
回复
帮你顶,同问,mark
gtlang78 2005-05-08
  • 打赏
  • 举报
回复
如果目录结构是
|-- test/applet/myApplet.class
|-- images/test.gif

代码应该是这样的
myApplet.class.getResourceAsStream("/images/test.gif");
rootcn 2005-05-08
  • 打赏
  • 举报
回复
zhutouzip(Speak out!-shyboy)

要是方便能否给个完全的代码.

File f = File.createTempFile("kkk", ".gif")

文件格式不对,后面不能操作.

不知道怎么弄个 gif 文件出来.....
rootcn 2005-05-08
  • 打赏
  • 举报
回复
Class类的getResourceAsStream()是可以访问打包后的资源的

--------------------------
如果可以访问路径应该怎么设啊?
我用那个方法时报 File not found 错误...

我的 applet 所在的包是

package test.applet

Class myApplet () {

}

我打包后的 test.jar :
|-- test/applet/myApplet.class
|-- images/test.gif

请教如何取得...以流的格式.
gtlang78 2005-05-08
  • 打赏
  • 举报
回复
Class类的getResourceAsStream()是可以访问打包后的资源的
飞行的兔子 2005-05-08
  • 打赏
  • 举报
回复
我说的inputstream和outputstream是一个临时存储这些序列化的流,
想FileInputStream("file")等!
rootcn 2005-05-08
  • 打赏
  • 举报
回复
不可以啊.

inputstream 和 outputStream 对像没有的. 现在就是缺 inputStream 对象.
飞行的兔子 2005-05-08
  • 打赏
  • 举报
回复
序列化,就是将实现了serializable接口的类实例可以转化成二进制流,也即是将一个序列化了的类实例写入ObjectOutputStream,这样便于传输,在另一端 ,可以用ObjectInputStream取得该ObjectOutputStream的liu!
ObjectOutputStream oos=new ObjectOutputStream(outputstream);
oos.writeObject(ii);
这时ii就变成了流的形式,
ObjectInputStream ois=new ObjectInputStream(inputstream);
ois.readObject();
关于序列化的操作你仔细看一下书吧!
rootcn 2005-05-08
  • 打赏
  • 举报
回复
// 这一句可以执行,在打包后.
Image image = getImage(getCodebase(), "images/test.gif");

// 这一句在本地可以执行, 发布以后 f 会是 null
// 如果 f 不是 null 的时候,后面的程序全部可以正常执行
File f = new File("images/test.gif");

BufferedImage buf = new BufferedImage(1,
1, BufferedImage.TYPE_INT_RGB);
buf.getGraphics().drawImage(image, 0, 0, this);
ImageIO.write(buf, "gif", f);
ImageInputStream imageStream = ImageIO.createImageInputStream(f);
rootcn 2005-05-08
  • 打赏
  • 举报
回复
YourApplet.class.getResourceAsStream("images/test.gif");

不能访问打包后的图片.

----

TO zhutouzip(Speak out!-shyboy)

能不能说得详细些啊.我对序列化不很清楚.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧