利用JAVA实现文件拷贝

在利用Java实现拷贝文件的时候,首先我们需要把拷贝这个动作解剖成两个动作。一:读取文件中的数据流;二:导入数据流。

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 使用InputStream抽象类的子类FileInputStream类
 * 从文件中读取流数据
 */
public class FileInputStreamDemo1 {
    public static void test1(){
        try{
            FileInputStream myStream = new FileInputStream("src/a.txt");
            //myStream用于存放数据流。
            //new FileInputStreamh()后面接着是原文件名及其地址。
            int a = 0;
            while ((a=myStream.read())!=-1){
                //返回值等于非-1进行循环,如果遇到-1则跳出循环
                System.out.print((char)a);//逐个打印
            }
            myStream.close();
        }catch(FileNotFoundException e){
            e.printStackTrace();
        }catch(IOException e){
            e.printStackTrace();
        }

    }
    public static void main(String[] args){
        test1();
    }
}

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
/**
 * 使用OutputStream抽象类的子类FileOutputStream类
 * 导入数据流在文件中
 * @author PeicongHe
 *
 */
public class Demo1 {

    public static void test2(){
        String myContent = "I Am A Good Man!!";
        OutputStream os;
        try {
            os = new FileOutputStream("src/b.txt");//用于存放数据流
            os.write(myContent.getBytes());//写入数据流
            os.flush();//刷新
            os.close();//关闭数据流
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
    public static void main(String[] args){
        test2();
    }
}

将这两个步骤结合在一起

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class CopyFile {
    public static void copy(){
        try{
            FileInputStream myStream = new FileInputStream("src/1_suwu150.jpg");
            OutputStream os = new FileOutputStream("hshs.jpg");
            int a = 0;
            while((a=myStream.read())!=-1){
                System.out.println((char)a);
                os.write(a);
            }
            System.out.println("复制成功!"); 
            os.flush();
            os.close();
            myStream.close();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    public static void main(String[] args){
        copy();
    }

}

猜你喜欢

转载自blog.csdn.net/PeicongHe/article/details/54896871