package Ch01;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;public class Filecopy { /**
 * @param args
 */
public static void main(String[] args) {
File file = new File("D:\\test.txt");
if (!file.exists()) {
try{
file.createNewFile();
}catch(IOException e) {
e.printStackTrace();
}
}
BufferedWriter bw = null;
try{
bw = new BufferedWriter(new FileWriter("D:\\test.txt"));
String line = System.getProperty("line.separator");
bw.write("hello world" +line);

}catch(Exception e){
e.printStackTrace();
} finally {
try{
bw.close();

}catch (Exception ex){
ex.printStackTrace();
}
}

public static void copyFile(String src, String dest){
File srcFile = new File(src);
File destPath = new File(dest);
FileInputStream fis = null;
FileOutputStream fos = null;
try {
File destFile = new File(destPath, srcFile.getName());
destFile.createNewFile();
fis = new FileInputStream("D\\test.txt");
fos = new FileOutputStream("E:");
int bytesRead;
byte[] buf = new byte[4*1024];
while ((bytesRead = fis.read(buf)) != -1) {
fos.write(buf, 0, bytesRead);

}
fos.flush();
}catch (IOException e) {
System.out.println(e);
}finally {
try{
fos.close();
fis.close();
}catch (Exception ex) {
ex.printStackTrace();
}
}



}
}
哪儿错了呢 有没有更简单的方法复制文件呢

解决方案 »

  1.   

    /*
    **编写一个文件拷贝程序,将文件C:\test1.txt的内容拷贝到C:\test2.txt中
    */ 
    import java.io.*;
    class CopyFile{
    public static void main(String[] args) {
    String file1 = “C:\test1.txt”;
    String file2 = “C:\test2.txt”;
    int ch = 0 ;
    try {
    FileInputStream fis = new FileInputStream(file1);
    FileOutputStream fos=new FileOutputStream(file2);
    while ((ch=fis.read())!=-1)
    fos.write(ch);
    fis.close();
    fos.close();
    }
    catch (IOException e){
    System.out.println(e.toString());
    }
    }
    }当然这样做的前提是,两个文件必须存在
      

  2.   

    你写的太乱了,我看的头都晕了,参考一下我写的吧:package com.pyh.demo1;import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;public class CopyFile {
    public void copy(String srcName, String destName) {
    File src = new File(srcName);
    if (src == null || !src.isFile()) {
    System.out.println("源文件不存在");
    return;
    }
    File dest = new File(destName);
    InputStream input = null;
    OutputStream out = null;
    try {
    input = new FileInputStream(src);
    out = new FileOutputStream(dest);
    byte[] data = new byte[1024 * 512];
    int temp = 0;
    while ((temp = input.read(data)) != -1) {
    out.write(data, 0, temp);
    }
    out.close();
    input.close();
    System.out.println("文件复制成功");
    } catch (Exception e) {
    System.err.println("文件复制失败:" + e.getMessage());
    e.printStackTrace();
    }
    } public static void main(String[] args) {
    new CopyFile().copy("./test.txt", "./123.txt");
    }
    }