由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - Java的中文读写问题
相关主题
从文件读入数据得到的是bytes[转载] create gif/png image in C or java
文件是要放在同目录下的吗?How to append something on a file?
File generated by Java cannot be read by Android AppHow to write a file to the same directory of the class file?
Re: Need Emergent help for Java I/O!which one should I close?
新手请教怎样在Java里读文本文件中的内容急问如何append double 数据到txt文件
请教读取中文文件的问题[合集] Java read/write binary floating point data files?
JAVA文本文件读写问题新手问个简单问题 System.out
Re: 急问关于applet里打开文件的问题这段实例化的代码可以优化提速吗?
相关话题的讨论汇总
话题: gb2312话题: 汉字话题: new
进入Java版参与讨论
1 (共1页)
y********o
发帖数: 2565
1
查了本版历史,有的尽是有关Swing应用程序显示中文的问题,与我这个关系不大。
好长时间已经没有碰过Java了。
我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中。
写了如下的几行,只尝试读写一个汉字,不成功:
FileInputStream fis = new FileInputStream("file1.txt");
InputStreamReader isr = new java.io.InputStreamReader(fis, "GB2312");

FileOutputStream fos = new FileOutputStream("file2.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "GB2312");
我不懂怎样读出汉字。
如果我用isr.read()并将其返回结果System.out.println出来的话,屏幕只会显示一个数
字25105, 这个数字应当是file1.txt的第一个汉字“我”了。怎样让它println出汉
F****n
发帖数: 3271
2
java.nio






【在 y********o 的大作中提到】
: 查了本版历史,有的尽是有关Swing应用程序显示中文的问题,与我这个关系不大。
: 好长时间已经没有碰过Java了。
: 我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中。
: 写了如下的几行,只尝试读写一个汉字,不成功:
: FileInputStream fis = new FileInputStream("file1.txt");
: InputStreamReader isr = new java.io.InputStreamReader(fis, "GB2312");
:
: FileOutputStream fos = new FileOutputStream("file2.txt");
: OutputStreamWriter osw = new OutputStreamWriter(fos, "GB2312");
: 我不懂怎样读出汉字。

w********c
发帖数: 2632
3
what u did should be right. When u take an input, it's always better to add an
extra decorator BufferedReader to ur Reader so ur data will be in String. when
u dump it to screen, u should also wrap System.out w/ an encoded
OutputStreamWriter.






【在 y********o 的大作中提到】
: 查了本版历史,有的尽是有关Swing应用程序显示中文的问题,与我这个关系不大。
: 好长时间已经没有碰过Java了。
: 我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中。
: 写了如下的几行,只尝试读写一个汉字,不成功:
: FileInputStream fis = new FileInputStream("file1.txt");
: InputStreamReader isr = new java.io.InputStreamReader(fis, "GB2312");
:
: FileOutputStream fos = new FileOutputStream("file2.txt");
: OutputStreamWriter osw = new OutputStreamWriter(fos, "GB2312");
: 我不懂怎样读出汉字。

c***r
发帖数: 4631
4
java用GBK,不用GB2312






【在 y********o 的大作中提到】
: 查了本版历史,有的尽是有关Swing应用程序显示中文的问题,与我这个关系不大。
: 好长时间已经没有碰过Java了。
: 我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中。
: 写了如下的几行,只尝试读写一个汉字,不成功:
: FileInputStream fis = new FileInputStream("file1.txt");
: InputStreamReader isr = new java.io.InputStreamReader(fis, "GB2312");
:
: FileOutputStream fos = new FileOutputStream("file2.txt");
: OutputStreamWriter osw = new OutputStreamWriter(fos, "GB2312");
: 我不懂怎样读出汉字。

y********o
发帖数: 2565
5
Core Java lists GB2312.

我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中




【在 c***r 的大作中提到】
: java用GBK,不用GB2312
:
: 。
: 数
: 来
: ,

y********o
发帖数: 2565
6
Thank you. So, according to what you say, I need to do:
BufferedReader br = new BufferedReader(isr);
And I don't know how to bound the OutputStreamWriter with System.out.
Any hint?

an
when
我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中




【在 w********c 的大作中提到】
: what u did should be right. When u take an input, it's always better to add an
: extra decorator BufferedReader to ur Reader so ur data will be in String. when
: u dump it to screen, u should also wrap System.out w/ an encoded
: OutputStreamWriter.
:
: 。
: 数
: 来
: ,

w********c
发帖数: 2632
7
System.out is a stream too. so just
OutputStreamWriter osw = new OutputStreamWriter(System.out, "GB2312")

add





【在 y********o 的大作中提到】
: Thank you. So, according to what you say, I need to do:
: BufferedReader br = new BufferedReader(isr);
: And I don't know how to bound the OutputStreamWriter with System.out.
: Any hint?
:
: an
: when
: 我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中
: 个
: 字

c***r
发帖数: 4631
8
好像应该用EUC_CN来表示GB2312编码吧?我只用过GBK,好像有人用iso8859-2






【在 y********o 的大作中提到】
: Core Java lists GB2312.
:
: 我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中
: 个
: 字
: 说

c***r
发帖数: 4631
9
不好意思GB2312没问题,这段代码应该能行
try{
FileInputStream is = new FileInputStream("test.txt");
InputStreamReader oR = new InputStreamReader(is,"GBK");
Writer myout = new OutputStreamWriter(System.out);
myout.write( oR.read());
myout.flush();
}catch(Exception e){}


我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中




【在 c***r 的大作中提到】
: 好像应该用EUC_CN来表示GB2312编码吧?我只用过GBK,好像有人用iso8859-2
:
: 。
: 一
: 汉
: 方

y********o
发帖数: 2565
10
Yes, it looks like it works if we do:
myout.write(oR.read());
But it does not seem to work if we do:
char chineseChar = (char)oR.read();
myout.write(chineseChar); // writes a question mark.
Don't know why.


"GB2312");

这个数字应当是file1.txt的第一个汉字“我”了。怎样让它println

【在 c***r 的大作中提到】
: 不好意思GB2312没问题,这段代码应该能行
: try{
: FileInputStream is = new FileInputStream("test.txt");
: InputStreamReader oR = new InputStreamReader(is,"GBK");
: Writer myout = new OutputStreamWriter(System.out);
: myout.write( oR.read());
: myout.flush();
: }catch(Exception e){}
:
: 大

c***r
发帖数: 4631
11
It works for me. Did you installed a Chinese version of JDK?


我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中

【在 y********o 的大作中提到】
: Yes, it looks like it works if we do:
: myout.write(oR.read());
: But it does not seem to work if we do:
: char chineseChar = (char)oR.read();
: myout.write(chineseChar); // writes a question mark.
: Don't know why.
:
: 不
: "GB2312");
: 显

w******g
发帖数: 67
12
question mark means u lost the code



【在 c***r 的大作中提到】
: It works for me. Did you installed a Chinese version of JDK?
:
: 系
: 我要从一个纯文本文件file1.txt中将某些汉字逐个读出,并逐个写入文件file2.txt中

1 (共1页)
进入Java版参与讨论
相关主题
这段实例化的代码可以优化提速吗?新手请教怎样在Java里读文本文件中的内容
如何读取这种格式的数据?请教读取中文文件的问题
为什么我的try-with-resources总是提示有unhandled exception?JAVA文本文件读写问题
怎么从键盘输入整数或float?Re: 急问关于applet里打开文件的问题
从文件读入数据得到的是bytes[转载] create gif/png image in C or java
文件是要放在同目录下的吗?How to append something on a file?
File generated by Java cannot be read by Android AppHow to write a file to the same directory of the class file?
Re: Need Emergent help for Java I/O!which one should I close?
相关话题的讨论汇总
话题: gb2312话题: 汉字话题: new