问题是:fis.read()返回的整数是不是fin每读一个byte,然后在其它高位补上零,形成一个32位的整数,并赋给c,?
fos.write(c)是不是取整数c的低8位,形成一个byte,然后再写入文件?
-------------
应该是这样
InputStreamReader isr = new InputStreamReader(is,"8859-1")
----------
这句话的意思应该是,用iso8859-1这个字符集为字节流解码,那么OutputStreamWriter应该用iso8859-1来编码,传输的都是用iso8859-1编码的字节流。
fos.write(c)是不是取整数c的低8位,形成一个byte,然后再写入文件?
-------------
应该是这样
InputStreamReader isr = new InputStreamReader(is,"8859-1")
----------
这句话的意思应该是,用iso8859-1这个字符集为字节流解码,那么OutputStreamWriter应该用iso8859-1来编码,传输的都是用iso8859-1编码的字节流。
解决方案 »
- java数据库操作
- 关于java中不需要class文件生成object如何实现
- 各位战友帮我个忙,当然我会给分给大家。
- 如何使我的JToolBar始终处于浮动状态
- 谁能把一个JDialog的大小设置成(50,300),100分相送!
- 一直没有解决好的问题:如果判断一个数据库的连接是否正常
- 来帮我做个尺子好么
- 连接数据库的简单问题.
- 不知道是不是该脸红的问题。
- 请教个问题啊
- 数据转换
- AssertionError(StackTraceElement detailMessage)为什么不能是合法的constructors of the class java.lang.AssertionError?
(采用的是iso8859-1编码方式在不同平台之间正确转换字符)输入字符流中的字符与编码有什么关系?上述方法为什么可以正确转换字符呢?上述方法不一定能正确读出文件的内容,比如说文件的编码格式是“gb2312”
用上述方法得到的肯定是乱码,不过这时候可以写
InputStreamReader reader=new InputStreamReader(is,"GB2312");
------------------
这不是简单能说清楚的,建议你去google一下,这方面的文章应该不少。