奇怪的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
相关问答:
我在 java核心技术上 看了一个 利用 Java socket email的例子 可是怎么也 不成功 为什么?
源码
Java code:
package cn.com.test.email;
import java.awt.GridBagLayout;
import java.awt.event.Action ......
使用java在windows7 32位下连接MSSQL。
两台机器,windows7 32位,在控制面板里面全部设置语言和区域选项都english-unitedstates
唯一区别只有在安装SQL server 2008的时候 选择的字符集不一样,
exec sp_helpsor ......
程序如下:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import ......
怎么样将id传过去啊???是简单的传。。。在地址栏中写id号
LZ 好幽默!不知道你的意思?
是想把ID 传到ACTION ? 通过URl id=?
不够详细 别人不知道怎样帮你
../XXXXX.do?id=XXXX&id2=XXXXX
......