日期:2014-05-20  浏览次数:20773 次

字节流,调用FileOutputStream的write(byte[])方法产生中文乱码问题
为什么使用单字节读写不会出现中文乱码而使用字节数组的时候就会出现中文乱码?(英文没有乱码)
代码如下:
public static void ByteIO(String sourceFile, String destFile) throws IOException{
int i = 0;
byte[] b = new byte[512];
byte a;
File SFile = new File(sourceFile);
File DFile = new File(destFile);
FileInputStream inputStream = new FileInputStream(SFile);
FileOutputStream outputStream = new FileOutputStream(DFile);

while(true){
if(inputStream.available() < 512){
while(i != -1){
i = inputStream.read();
outputStream.write(i);
}
break;
}
else{
inputStream.read(b);
outputStream.write(b);
}
}
inputStream.close();
outputStream.close();
}

------解决方案--------------------
是全乱了,还是部分中文乱了?如果全乱了,应该是编码格式的问题
------解决方案--------------------
设置一下你输出流的编码格式跟你读的流的文件一样应该就可以了
------解决方案--------------------
为什么我可以??
楼主用的什么IDE??