第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

java實現(xiàn)拷貝一個文件夾,里面存在目錄和文件,使用文件創(chuàng)建和文件流

標(biāo)簽:
Java

内容我都在注释里说明了,有什么不懂的可以问我.主要是为了回顾下文件的创建和文件流的读写,所以写了这个拷贝的代码,还可以添加很多功能,像拷贝哪个文件到哪都是可以改个,可以用scanner输入,还有就是可以再加个delete()那么程序就变成剪切功能了.

package io;

import java.io.File;
import java.io.RandomAccessFile;
/**
 * java实现拷贝一个文件夹,里面存在目录和文件,使用文件创建和文件流
 * 读到file文件复制里面的内容,读到目录,复制目录,并查看里面是否还有文件
 * @author 温先生
 *
 */
public class FileCopy {
    public static void main(String[] args) throws Exception {
        FileCopy fileCopy = new FileCopy();
        String fixed = "a/b/c/d";//fixed定义为固定,就是你要粘贴到这里
        String moveto = "a/c";//moveto定义为移动的文件
        String[] movetos = moveto.split("/");//切割的目的是得到c文件,去掉前面的文件路径,一定要去掉,不然后面会因为路径错误找不到文件
        String moveto_cut= movetos[movetos.length-1];
        File file1 = new File(moveto);//创建file1对象,固定file1为拷贝的文件,同下
        if (file1.isFile()) {//判断是否为文件
            //创建file1对象,固定file2为拷贝形成的文件或目录,同下
            File file2 = new File(fixed+"/"+moveto_cut);//这里用切割后的,很容易理解为什么
            file2.createNewFile();//创建一个文件
            //读取原文件里面的数据,存到新文件里
            RandomAccessFile raf = new RandomAccessFile(file1, "rw");
            byte[] bs = new byte[(int) file1.length()];
            raf.read(bs);
            RandomAccessFile raf2 = new RandomAccessFile(file2, "rw");
            raf2.write(bs);
            raf.close();
            raf2.close();
        }
        if (file1.isDirectory()) {//判断是否为目录
            File file2 = new File(fixed+"/"+moveto_cut);
            file2.mkdir();
            fileCopy.copy(fixed+"/"+moveto_cut, moveto);
        }
    }   
    public void copy(String fixed,String moveto) throws Exception {
        System.out.println(fixed);//打桩查看数据
        System.out.println(moveto);//打桩查看数据
        File file = new File(moveto);//这里定义为file,因为要获取file里面所有的文件目录和文件
        File[] files = file.listFiles();//获取file里面所有的文件目录和文件
        for (int i=0;i<files.length;i++) {
            if (files[i].isFile()) {
                File file2 = new File(fixed+"/"+files[i].getName());//要新建文件的目录+文件名
                System.out.println("创建了文件:"+files[i].getName());
                File file1 = new File(moveto+"/"+files[i].getName());//原拷贝文件的目录+文件名
                file2.createNewFile();//创建一个文件
                //读取原文件里面的数据,存到新文件里
                RandomAccessFile raf = new RandomAccessFile(file1, "rw");
                byte[] bs = new byte[(int) file1.length()];
                raf.read(bs);
                RandomAccessFile raf2 = new RandomAccessFile(file2, "rw");
                raf2.write(bs);
                raf.close();
                raf2.close();
            }
            if (files[i].isDirectory()) {
                moveto=moveto+"/"+files[i].getName();//文件的目录
                File file2 = new File(moveto);//要新建文件的目录
                System.out.println("创建了目录:"+files[i].getName());
                file2.mkdir();//创建一个目录
                copy(fixed+"/"+files[i].getName(), moveto);//递归
            }
        }
    }
}
點擊查看更多內(nèi)容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
10
獲贊與收藏
14

關(guān)注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消