当前位置: 代码迷 >> Java相关 >> 请大神解惑:关于IO中文件复制的疑义
  详细解决方案

请大神解惑:关于IO中文件复制的疑义

热度:86   发布时间:2016-04-22 20:59:28.0
请大神解惑:关于IO中文件复制的疑问,
import java.io.*;
public class IoLiu{
public static void main(String[] args){
//int b = 0;
FileInputStream in = null;
FileOutputStream out = null;
try{
in = new FileInputStream("e:/java/HelloWord.java");
out = new FileOutputStream("e:/java/FZ.java");
}catch (FileNotFoundException e){
System.out.println("文件没有找到;");
System.exit(-1);
}
try{
//while((b = in.read()) != -1){
while(in.read() != -1){
//out.write(b);
out.write(in.read());
}
in.close();
out.close();
}catch(IOException e){
System.out.println("文件没有找到");
System.exit(-1);
}
System.out.println("文件已复制!");
}
}


以现在这个程序运行是可以复制,但复制的类容不正确,如果加上一个转换字符b就可成功复制,(如代码中注释掉的那几行)

这是怎么回事呢? 请大神们解惑下;


------解决方案--------------------
因为这个read()方法在返回int值之前  游标已经移动到下一个字符处了  所以要你b先存储之前读到的值 要不然就是隔字符度出来了
  相关解决方案