IO操作文件的复制与删除

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

import org.junit.Test;

public class Delete {
/*
把d:/mywork复制成c:/mywork
写程序删除目录c:/mywork, delete()?
递归
*/

public void deleteDir(File dir){
  //清空目录
  System.out.println("删除目录:" + dir);
  File[] listFiles = dir.listFiles();
  for(int i = 0;i < listFiles.length;i++){
    if(listFiles[i].isFile()){//测试此抽象路径名表示的文件是否是一个标准文件。
      //如果是文件,直接删除
      listFiles[i].delete();  
    }else if(listFiles[i].isDirectory()){//检查此路径是不是目录
      deleteDir(listFiles[i]);
      //因为子目录也是目录, 继续调用删除目录的方法即可
    }
  }
    dir.delete();//只能删除空目录
}

  @Test
  public void delete(){
    File file = new File("c:/xxxx");//此处填写文件名
    deleteDir(file);
  }

  public void copyDir(File dir1,File dir2) throws IOException{
    System.out.println("复制目录:" + dir1 + "到" + dir2);
    //新建目标目录
    dir2.mkdir();
    //遍历源目录,把其中的内容复制到目标目录中
    File[] listFiles = dir1.listFiles();// 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
    for(int i = 0;i < listFiles.length;i++){
      if(listFiles[i].isFile()){
      //文件复制
        File f1 = listFiles[i];
        File f2 = new File(dir2.getAbsolutePath() + "/" + f1.getName());
        copyFile(f1,f2);
      }else if(listFiles[i].isDirectory()){
        copyDir(listFiles[i],new File(dir2.getAbsolutePath() + "/" + listFiles[i].getName()));
      }
    }
  }

   private void copyFile(File f1,File f2) throws IOException{
     FileInputStream fis = new FileInputStream(f1);
     FileOutputStream fos = new FileOutputStream(f2);
     byte[] buf = new byte[8192];
     int realCount = fis.read(buf);
     while (realCount != -1) {
       fos.write(buf,0,realCount);
       realCount = fis.read(buf);

     }
      fis.close();
      fos.close();
  }

   @Test
  public void copy(){
    File dir1 = new File("路径");
    File dir2 = new File("路径");
    try {
        copyDir(dir1, dir2);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

时间: 2025-01-11 05:44:24

IO操作文件的复制与删除的相关文章

JAVA之IO技术文件的复制原理。

在Swing 中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标.在应用程序的用户界面中,一个简短的文本标签可以使用户知道这些控件的目的,所以标签在Swing中是比较常用的控件. 1.标签的使用 标签由JLabel类定义,父类为JComponent类. 标签可以显示一行只读文本,一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单低显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式. JLabel类提供了多种构造方法,这样可以创建多种标签,例如显示只有文本的标签.只

Linux文件的复制、删除和移动命令

cp命令  功能:将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大.  语法:cp [选项] 源文件或目录 目标文件或目录  说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中. 参数: - a 该选项通常在拷贝目录时使用.它保留链接.文件属性,并递归地拷贝目录,其作用等于dpR选项的组合. - d 拷贝时保留链接. - f 删除已经存在的目标文件而不提示. - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认.回答y时目标文

io操作-文件

io文件str 字符串bytes 字节串bytes=str.encode()str=bytes.decode() 1.生成文件对象 权限:r读 w写 a追加写 r+读写 w+写读 a+写读 (字符串格式) 加b 字节串格式 比如:'rb+' file_object=open(file,'w') 2.读写操作读模式文件对象只能调用read(),写模式文件对象只能调用write('ok'),读写模式才可以都调用读写模式差别在于,文件是否存在,读模式打开文件必须存在,不然报错 写模式打开,文件存在,打

java文件和文件夹复制、删除、移动操作

[java] view plain copy import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.InputStream; import java.io.PrintWriter; public  class  CopyFile  { public  CopyFile()  { } /** *  

16 IO操作文件读写

IO的分类 第一种分法: 1.输入流 2.输出流 第二种分法: 1.字节流 2.字符流 第三种分法: 1.节点流 2.处理流 I/O当中的核心类: InputStream  <--------FileInputStream OutputStream <-------FileOutputStream 核心类的方法: InputStream: int read(byte[] b,int off,int len) OutputStream: void write(byte[] b,int off,i

Java IO 操作文件

1. 写文件 如果是文本 推荐使用 BufferedWriter bw = new BufferedWriter(new FileWriter("G:/新建文件夹/add2.txt", true));// 文件追加 long begin4 = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { bw.write("测试java 文件操作\r\n"); } bw.flush(); bw.c

IO流-文件的复制

1.字节流复制文件: public void myTest() { // 定义输入和输出流 FileInputStream fis = null; FileOutputStream fos = null; try { fis = new FileInputStream("E:\\电影\\黄飞鸿之铁鸡斗蜈蚣.mkv"); fos = new FileOutputStream("F:\\黄飞鸿之铁鸡斗蜈蚣.mkv"); byte[] b = new byte[1024]

java基础之IO操作

IO操作 ·文件类的使用(File) ·IO中流的基本使用(字符流.字节流.内存流.打印流) ·System类对IO的支持 ·对象序列化的问题 在整个的IO操作中,流的操作分为两种: ·字节流 字节输出流:OutputStream 字节输入流:InputStream ·字符流 字符输出流:Writer 字符输入流:Reader IO操作的基本步骤: 在Java的使用io的话,必须要按照以下的几个步骤进行(对文件操作来说): ·使用File找到一个文件 ·使用字节流或者字符流的子类为OutputS

本地文件如何复制到远程服务器

很多人在使用远程服务器的时候往往要将本地的文件传输到远程服务器内,方法有很多种,下面介绍下如何使用Windows自带的远程桌面连接程序将文件复制到远程服务器内. 1.首先,点击windows开始按钮,点击运行,输入mstsc,点击确定. 2.在弹出来的对话框中,输入服务器的IP和端口,点击右下角的选项. 3.然后点击本地资源选项卡,点击详细信息按钮. 4.此时勾选你所要连接到服务器上的本地磁盘,点击确定返回到直接的窗口. 5.点击连接以后进入到远程服务器桌面,输入好用户名和密码,进入远程服务器系