javaIO流其他流的练习
要求:
如c盘作业文件夹下分别有文本文档,子目录(子目录下有其他子目录和文本文档的文件)、图片格式文件。

如上涉及到的不止是文本,还有图片和子目录
所以要用到字节流FileInputStream ,FileOutputStream。当然也可以用缓冲流。

涉及多重子文件目录
需要用迭代

文件夹包括目录名和具体文件
对于目录,我们只需在路径生成就行
对于具体文件,我们要在对应的目录下面将其拷贝过去

对于抽象文件的处理,我们使用File
该类有关于文件的处理,如获取绝对路径,获取文件名等

private static void CopyDir(File filesrc, File filedest){if(filesrc.isFile()){//是文件先拷贝,再跳出该次递归,否则即为目录,进入目录操作。//System.out.println(filesrc.getAbsolutePath());//是文件就进行拷贝处理copyfile(filesrc,filedest);return;}File temFile=null;File[] files=filesrc.listFiles();for (File f:files) {//文件或目录File newdest=null;File newsrc=null;if(f.isDirectory()){/*当f是目录中的一个子目录时 进入*/String name=f.getName();String destDir=filedest.getAbsolutePath().endsWith("\\")?(filedest.getAbsolutePath()+name):(filedest.getAbsolutePath()+"\\"+name);/*System.out.println(destDir);*///在拷贝路径中生成新的目录newdest=new File(destDir);if(!newdest.exists())newdest.mkdirs();/*String srcDir=f.getAbsolutePath().endsWith("\\")?f.getAbsolutePath():(f.getAbsolutePath()+"\\");*/String srcDir=f.getAbsolutePath();System.out.println(srcDir);newsrc=new File(srcDir);temFile=newdest;//更新拷贝路径CopyDir(newsrc,temFile);}//temFile=newdest;/*当目录下的是一个文件时  进入下一次循环,然后直接拷贝*/if(!(f.isDirectory())){CopyDir(f,filedest);}}}

关于文件的拷贝涉及到的文件流,开头第一篇文章有,这里再次写一下

private static void copyfile(File src,File dest){FileInputStream fileInputStream=null;FileOutputStream fileOutputStream=null;String txt=dest.getAbsolutePath().endsWith("\\")?dest.getAbsolutePath():(dest.getAbsolutePath()+"\\")+src.getName();System.out.println(txt);try{fileInputStream=new FileInputStream(src);fileOutputStream=new FileOutputStream(txt);byte[] bytes=new byte[1024*1024];int readcount;while ((readcount=fileInputStream.read(bytes))!=-1){fileOutputStream.write(bytes,0,readcount);}fileOutputStream.flush();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if(fileInputStream!=null) {try {fileInputStream.close();} catch (IOException e) {e.printStackTrace();}}if(fileOutputStream!=null){try {fileOutputStream.close();} catch (IOException e) {e.printStackTrace();}}}}

主函数

public static void main(String[] args) {File filesrc=new File("C:\\Users\\wish_cai\\Pictures\\作业");File filedest=new File("D:\\bilibili\\JJDown\\Download\\Java零基础教程视频(适合Java 0基础,Java初学入门)\\copy\\");CopyDir(filesrc,filedest);}

javaIO流实现文件拷贝相关推荐

  1. 解决关于java的IO流进行文件拷贝时拒绝访问的问题

    解决关于java的IO流进行文件拷贝时拒绝访问的问题 1.在学习java IO流的时候,想进行文件的自动拷贝功能,我的代码是在idea中编写的,编写没有报红,但是运行时却出现了java.io.File ...

  2. JavaIO流中的拷贝

    JavaIO流中对数据的操作尤为重要,掌握了基本的拷贝操作,才能将各种数据源的操作联系起来. 先来看看对文件夹的拷贝吧: 1 /** 2 * 利用递归实现文件夹的拷贝操作 3 * 分析:判断 4 * ...

  3. Java------IO流之文件专属流

    文件专属流 文章目录 文件专属流 FileInputStream流 FileInputStream初步读取 FileInputStream循环读 IDEA默认当前路径 往byte数组中读 最终版Fil ...

  4. java-IO流-在文件中数据内容的插入问题

    1问题 在某个文件的中间某个位置插入字符串,例如: 文件内容:abcd 插入内容:123 插入下标:2 预期结果:ab123cd 2基本思路 1.校验参数的合法性 2.将指针移动到插入的位置 3.通过 ...

  5. java-IO流-将文件夹以树形结构打印(打印文件夹目录)问题

    问题 将一个文件夹下的文件(包括目录)以树形结构打印出来,等级目录要有标识 基本思路 1.参数合法性校验 2.如果是文件  当前属于第几层打印层级表示和文件名 3.如果是目录的   进入目录 当前是第 ...

  6. JavaIO流之文件路径

    斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/": 反斜杠,也称右斜杠,符号是"\". 在Unix/Linux中,路径的分隔采用正斜"/",比 ...

  7. IO流进行文件读写操作

    IO流进行文件读写操作 一.Java程序读excel文件 excel文件分为xls,xlsx和csv文件. 1.xls和xlsx的主要区别是版本不同: xls是excel2003及以前版本所生成的文件 ...

  8. javaIO流之转换流

    目录 简介 一.编码和解码 二.字符集 2.1ASCII 字符集 2.2Unicode 字符集 2.3GBK 字符集 三.乱码 四.InputStreamReader 4.1构造方法 4.2解决编码问 ...

  9. 普通IO流字符输入输出流文件拷贝

    import java.io.*;/*** 普通IO流字符输入输出流文件拷贝** @author silence*/ public class Silence {public static void ...

  10. IO流,字节流文件拷贝示例 [FileInputStream FileOutputStream]

    字节流文件拷贝FileInputStream FileOutputStream: import java.io.File; import java.io.FileInputStream; import ...

最新文章

  1. 解决ajax.open方法失效问题
  2. mastercam2019中文版
  3. c#扩展方法奇思妙用变态篇四:string 的翻身革命
  4. MR/hive/shark/sparkSQL
  5. horizon client 无法识别域_LY-W100摄像头视频定时拍照图像识别分析抄表读表无线远传水表数_水表吧...
  6. python简单开发接口
  7. PHP流式上传和表单上传(美图秀秀)
  8. [转载] 快速学习-Mybatis框架概述
  9. spring_boot 与MyBatis 整合
  10. 基于51单片机的计算器
  11. Android开发笔记(四十一)Service的生命周期
  12. asp.net MD5数据加密和解密
  13. 【BIM入门实战】渲染器Vray for 3d max 2018图文安装教程
  14. “C语言之父”40年前搞的操作系统复活!Linux、Windows都借鉴过它
  15. windows 10 下载工具
  16. C. Get an Even String题解(dp)
  17. Prometheus Operator 安装
  18. 跨越6XX和4XX排名纪实
  19. java 第三方库common系统详解
  20. 山东大学软件工程应用与实践——WeaselTSF(一)

热门文章

  1. Java 简单工厂模式和工厂模式(类图及实现)
  2. 利用quietHDD解决硬盘C1增长以及异响问题
  3. java类 家族成员 姓氏_中国史上十大家族,占据中国九大姓,看看有没有你的姓氏...
  4. TM2008 Preview体验
  5. php adodb类库下载,PHP ADODB连接、操作数据库类
  6. 中国输配电设备产业需求形势及运行战略规划建议报告2021年版
  7. 关于打印室计算机购置的申请书,物资采购申请书格式范文
  8. python论文排版_学位论文排版教程1
  9. 元胞自动机小团体matlab,元胞自动机matlab程序代码
  10. C# 正则表达式大全