str=raFile.readLine();
改一下:
byte[] b=new byte[50];
raFile.read(b);
str=new String(b,"GB2312");
改一下:
byte[] b=new byte[50];
raFile.read(b);
str=new String(b,"GB2312");
解决方案 »
- 有没有这样的框架
- 一道面试题目,求解!
- tomcat5.5 无法解析${}的问题
- 坦克大战项目课堂实录视频教程_j2se_eclipse_debug_详尽_透彻_手把手
- !!!一个郁闷了我一天关于AWT画图的问题!!!
- 有谁知道怎么保存JMStudio捕捉的视频和声音吗?(能看到和听到我好高兴,可惜测试了很久不知道如何保存)
- 各位大虾!小弟想学swt,打但是我的ECLIPSE3.1开发不了,请看内容帮忙,253了
- 好像是JApplet的布局管理问题。多多指教!!
- 请问如何在聊天室中起名不会被踢出去利用程序的漏洞~~~~谢谢在线等~~~~
- Java实现简单的通信
- 用JDK1.4编译idl文件为何无法生成skeleton code?
- File对象问题,请指教
{
public static void main(String args[])
{
try
{
File inputFile=new File("f:\\read.txt");
RandomAccessFile raFile=new RandomAccessFile(inputFile,"r"); String str;
while ((str=raFile.readLine() )!= null) {
System.out.println(str);
System.out.println(str.length());
}
raFile.close();
} catch(FileNotFoundException e)
{System.err.println("FileStreanTest:"+e);}
catch(IOException e)
{System.err.println("FileStreamTest:"+e);}
}}
1个汉字的存储空间是字符的2倍显示不出来
问题处在inf.readLine();读出时把byte[]转换成了String,java把byte[]转换成String时都会进行编码,系统默认的应该是iso-8859-1,而简体中文系统中的txt文件的编码是gb2312,所以就出现了乱码.所以要转换一下。
你用这个语句转换一下:
new String( count.getBytes( "gb2312" ), "ISO8859-1" )