|
public class copyfile2 { public static void main(String[] args) { byte b; File f1=new File("e:\\demo.htm"); //此处文件名和路径可以改变 File f2=new File("e:\\abc"); //此处也一样 try { FileInputStream in=new FileInputStream(f1); FileOutputStream out=new FileOutputStream(f2); DataInputStream din=new DataInputStream(in); DataOutputStream dout=new DataOutputStream(out); while(din.read()!=(-1)) { b=din.readByte(); dout.writeByte(b); } din.close(); dout.close(); } catch(Exception e){} } } |
|
|
|
把catch(Exception e){} 的异常放出来 catch(Exception e){ e.printStackTrace();}
File f2=new File("e:\\abc"); 的abc是文件名么?? while(din.read()!=(-1))条件打印看看.......... |
|
|
执行while(din.read()!=(-1)),字符指针就下移了一个,所以应该是少一半东西。
import java.io.*; public class copyfile2 { public static void main(String[] args) { int b; File f1=new File("e:\\demo.htm"); //此处文件名和路径可以改变 File f2=new File("e:\\abc"); //此处也一样 try { FileInputStream in=new FileInputStream(f1); FileOutputStream out=new FileOutputStream(f2); DataInputStream din=new DataInputStream(in); DataOutputStream dout=new DataOutputStream(out); while((b=din.read())!=-1) { out.write(b); } din.close(); dout.close(); } catch(Exception e){} } } -------------------------- 他们为什么扣我的信誉分 扣我信誉分怎么没有记录 -------------------------- |
|
|
上面out.write(b)写dout.write(b)也一样的
还不如去掉DataOutputStream呢,直接像下面那样 import java.io.*; public class copyfile2 { public static void main(String[] args) { int b; File f1=new File("e:\\demo.htm"); //此处文件名和路径可以改变 File f2=new File("e:\\abc"); //此处也一样 try { FileInputStream in=new FileInputStream(f1); FileOutputStream out=new FileOutputStream(f2); while((b=in.read())!=-1) { out.write(b); } in.close(); out.close(); } catch(Exception e){} } } -------------------------- 他们为什么扣我的信誉分 扣我信誉分怎么没有记录 -------------------------- |
|
|
mark
|
|