file.length()得到的是字节长度
Reader read = new FileReader(file)这个是文件的字符流
多字节的字符长度能和字节长度一样吗?
String s = "测试";
s.length() == s.getBytes().length(); //这两个长度一样吗?试试看不带length参数
ps.setCharacterStream(2, read);要不然就自己计算一次字符长度
Reader read = new FileReader(file)这个是文件的字符流
多字节的字符长度能和字节长度一样吗?
String s = "测试";
s.length() == s.getBytes().length(); //这两个长度一样吗?试试看不带length参数
ps.setCharacterStream(2, read);要不然就自己计算一次字符长度
Reader read = new FileReader(file);
CharArrayWriter cw = new CharArrayWriter();
int c = 0;
while ((c=read.read()) != -1) {
cw.write(c);
len++;
}
read = new CharArrayReader(cw.toCharArray());ps.setCharacterStream(2, read, len); //这里的len才是字符长度
ps.setBinaryStream(2, read,(int)file.length());