这是我压缩 a.rm 时候出现的错误提示Exception in thread "main" sun.io.MalformedInputException
at sun.io.ByteToCharDoubleByte.flush(ByteToCharDoubleByte.java:57)
at sun.nio.cs.StreamDecoder$ConverterSD.flushInto(StreamDecoder.java:266
)
at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:290) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:182)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.read(BufferedReader.java:157)
at ZC.main(ZC.java:18)
请按任意键继续 . . .
at sun.io.ByteToCharDoubleByte.flush(ByteToCharDoubleByte.java:57)
at sun.nio.cs.StreamDecoder$ConverterSD.flushInto(StreamDecoder.java:266
)
at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:290) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:182)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.read(BufferedReader.java:157)
at ZC.main(ZC.java:18)
请按任意键继续 . . .
BufferedReader in2 = new BufferedReader(new FileReader(FileName2)) ;改成: FileInputStream in = new FileInputStream(FileName1);
FileInputStream in2 = new FileInputStream(FileName2);
Java 's IO 一直让人头痛,请问,你为什么这么改?
说说好吗?
但是rm,excel文件都是二进制文件.
还有个小问题:
我的压缩文件有个是 “中文.txt”
解压缩后,文件名怎么成了 “涓枃.txt” ?猫呜同志还在吗?
文件名编码问题该如何解决?
而就目前所知: winRAR、winzip等压缩软件都是将中文文件名按照GBK进行的编码,因此会出现这样的错误。 说来也有趣,本来这里写的就是java.util.zip关于中文的的问题,结果它自己也是有中文的问题。归根到底还是unicode没有成为大家通用的缺省的字符集。
昨天不用utf-8的encoding,还是乱码,今天就好了。 在今天的header中有如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
最后发现,是在自己的settings中,可以自己修改各个header、footer、css等,只需在header中将utf-8设置好即可。 应cytihuntor要求,把我的理解描述一下,也不知是否正确:
在Setting->Themms先设置自己的theme.
然后在Pages中分别选择_header和Weblog,看起header中有无以下类似的,没有则自己添加:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
July 02, 2004 12:32 AM PDT Permalink 9 Comments
Trackback URL: http://blogs.sun.com/roller/trackback/shilei/Weblog/zipinputstream�_�_�_�_�
Comments:
关于设置字符集,我在setting中找了半天没找到你说的在哪设,可否明示另外,我自己在本地用roller建了一个blog站点,但不知怎么日期头部分总是乱码 就是 July .... 2004 显示总是????? 2004 可否知道怎么回事,谢谢最后发现,是在自己的settings中,可以自己修改各个header、footer、css等,只需在header中将utf-8设置好即可。
Posted by cytihuntor on July 03, 2004 at 12:14 AM PDT 谢谢shi lei,已经搞定。但好象roller的themes定位有点问题,通过它自己的编辑weblog选项提交后没有保存,不过这没有问题,我可以直接改它的文件。它对回车什么的处理有问题,刚才看到上次提交的东西乱七八糟的.
Posted by cytihuntor on July 04, 2004 at 07:08 PM PDT 它把回车都过滤掉了,是不是直接粘贴就没问题了
Posted by cytihuntor on July 04, 2004 at 07:09 PM PDT 不好意思,想到什么说什么,一点一点往出挤关于中文问题,基本已经解决,但前面说日期显示乱码仍然没有解决。我看了他的源码,日期显示部分是一个tag,好象没有看出什么问题。很奇怪,为什么单独日期显示会有问题呢,可能是跟我用的系统有关。我想你一定很忙,不过如果有什么想法可以提示我一下。我用的系统是 中文2000 professional + tomcat5 + mysql4.0.20, 我用他的源码测试了一下,在我的系统console上显示的日期是 七月 2004,我想是不是因为我的系统是中文的原因 现在在编辑器里写了上面文字,顺便试一下回车问题是不是可以解决
Posted by cytihuntor on July 04, 2004 at 07:18 PM PDT 抱歉,没在本机装过roller,不清楚你说的日期问题指的是哪个?
另外你指的回车又指的什么?
Posted by shilei on July 05, 2004 at 08:09 AM PDT 日期问题,就是说在界面上显示的日期,比如说你看到的是 July 5,2004,但在我这是 ???? 5,2004 回车问题,是说你看我所有的回帖显示都没有换行,实际上我写的时候是有换行的,但提交后就没啦,你的帖子怎么就没有这个问题。
a
Posted by cytihuntor on July 05, 2004 at 06:33 PM PDT 回车你用
隔开就可以了,这是html的标准标签。
例如你用显示下面两行:
行1
行2
需要写下面两行:
<br>行1
<br>行2
抱歉,日期问题不清楚,应该还是java的locale的问题
Posted by shilei on July 06, 2004 at 07:11 AM PDT thanks.
Posted by cytihuntor on July 06, 2004 at 10:08 PM PDT FileOutputStream f = new FileOutputStream(z) ; CheckedOutputStream csum = new CheckedOutputStream(f , new Adler32()) ; ZipOutputStream zos = new ZipOutputStream(csum) ; FileInputStream in = new FileInputStream(filename); zos.putNextEntry(new ZipEntry("中文.txt")) ; int c ; while((c=in.read())!=-1) zos.write(c) ; in.close(); 我这样的生成的压缩文件里的文件名是乱码怎么办?
Posted by 猫呜 on July 28, 2004 at 10:13 PM PDT
Website: http://blog.csdn.net/maowu