简单输入问题,高手肯定遇到过。

nifly 2005-03-22 11:59:54
我已经写了一段从键盘输入然后写到F.txt这个文件中,但是这个只支持E文字符啊。如下
======================================================
import java.io.*;
public class AccessFile
{
public static void main(String[] args)
{
try{
FileWriter f=new FileWriter("F.txt",true);
DataInputStream x=new DataInputStream(System.in);
String d=x.readLine();
d=d+"\n";
f.write(d);
f.flush();

}
catch(FileNotFoundException e)
{}
catch(IOException e)
{}
}
}
============================================
请问如何才能使用中文输入并能保存到文件中呢?
请写出代码~~非常感谢。
...全文
69 点赞 收藏 6
写回复
6 条回复
feng2008ao 2005年03月22日
对,楼上的这段很重要,就这个就可以了。
回复 点赞
dutzzl 2005年03月22日
This method does not properly convert bytes to characters. As of JDK 1.1, the preferred way to read lines of text is via the BufferedReader.readLine() method. Programs that use the DataInputStream class to read lines can be converted to use the BufferedReader class by replacing code of the form:
DataInputStream d = new DataInputStream(in);
with:
BufferedReader d
= new BufferedReader(new InputStreamReader(in));
回复 点赞
cuilichen 2005年03月22日
这是因为System.in流,你直接存入了*.txt文件。
你可以使用awt做一个接受输入的控件,这样就可以接受中文了。
再加一个提交的按钮,调用写文件的函数。
回复 点赞
nifly 2005年03月22日
OHYES感谢~~揭贴各位明白老~挖哈哈
回复 点赞
Tomcat4 2005年03月22日
DataInputStream只处理字节流,而BufferedReader处理字符流。中文是双字节的UNICODE码。
回复 点赞
nifly 2005年03月22日
你好啊~我换过来了可以行得通
但是请用中文解释一下好吗??
非常地感谢啊~
回复 点赞
发动态
发帖子
Java SE
创建于2007-09-28

3.4w+

社区成员

30.7w+

社区内容

Java 2 Standard Edition
社区公告
暂无公告