奇怪的java字符串 - Java / Java SE
在做一个文件处理的程序,在windows上调试通过后放到linux始终不好使,经过调试发现原因是在windows上面byte[]转换成字符串然后转回来大小正常,但是在linux上这个转换会导致大小发生变化,测试代码如下:
File checkFile = new File("含有中文内容的文件");
FileInputStream objFileInputStream = new FileInputStream(checkFile);
byte[] alldata = new byte[(int) checkFile.length()];
objFileInputStream.read(alldata);
System.out.println(alldata.length);
String strFileContent = new String(alldata);
System.out.println(strFileContent.getBytes().length);
String encoding = System.getProperty("file.encoding");
System.out.println(encoding);
在windows上执行结果为:
11594
11594
GBK
在linux上执行结果为:
11594
10649
GBK
不知道此现象是为何
String strFileContent = new String(alldata);
你加个字符编码集试一下,如:
String strFileContent = new String(alldata,"gbk");
同意楼上
Java code:
System.out.println(alldata.length);
String strFileContent = new String(alldata,"gb2312");
System.out.println(strFileContent.getBytes("gb
相关问答:
为什么HTML以及一些其它标签会显示一些特定表现形式呢?如HTML中的换行标签<BR/>在底层是怎样实现的呢?现实的原理是什么呢
去W3C官方网站上,看看吧!我想一看你就明白了
我猜和编译原理有关,浏览器里可 ......
我是个新手,望高手解答
我现在已经安装了mysql,也有mysql的jdbc。但我怎么配置后,才能在MyEclipse里操作mysql呢?请高手说详细点
打开Myeclipse----window---open perspective---MyEclipse database explorer-- ......
大家好,我现在有一个用asp写的聊天室,现在的想添加一个功能,就是当有人上线的时候,发出提示,比如声音响一下,现在想用java实现这个功能,请问大家怎么实现?
谢谢了,我会加分的
asp和java整合到一起去?何必 ......