文件的複製與加密

本文主要內容:

(1)文件的複製

(2)文件的加密

1.文件的複製

public class Test3 {
    public static void copyFile(File file, String path){//C://test//Test.txt
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream(file);
            File newFile = new File(path+"//"+file.getName());
            fos = new FileOutputStream(newFile);
            //讀取文件
            byte[] b = new byte[1024];//可能會讀取空格
            int count = fis.read(b);//1024,24個有效
            while (count!=-1){
                fos.write(b,0,count);
                fos.flush();
                count = fis.read(b);
            }
            System.out.println("複製完畢");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(fis!=null){
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(fos!=null){
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    public static void main(String[] args) {
        File file = new File("C://test//Test.txt");
        copyFile(file,"D://test//bbb");
    }
}

2.文件的加密

public class Test3 {
    public static void copyFile(File file, String path){//C://test//Test.txt
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream(file);
            File newFile = new File(path+"//"+file.getName());
            fos = new FileOutputStream(newFile);
            //讀取文件
            byte[] b = new byte[1024];//可能會讀取空格
            int count = fis.read(b);//1024,24個有效
            while (count!=-1){
                //加密:每一次數組的前兩個元素位置互換
                byte temp = b[0];
                b[0] = b[1];
                b[1] = temp;
                fos.write(b,0,count);
                fos.flush();
                count = fis.read(b);
            }
            System.out.println("複製完畢");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(fis!=null){
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(fos!=null){
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    public static void main(String[] args) {
        File file = new File("C://test//Test.txt");
        copyFile(file,"D://test//bbb");
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章