`
vefan
  • 浏览: 85603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

目录文件操作

阅读更多
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.PrintWriter;


/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 2005-12-30
 * Time: 15:05:27
 * To change this template use File | Settings | File Templates.
 */
public class FileUtils {

    /**
     * 新建目录
     * @param folderPath
     */
    public  void  newFolder(String  folderPath)  {
        try  {
            String  filePath  =  folderPath;
            filePath  =  filePath.toString();
            java.io.File  myFilePath  =  new  java.io.File(filePath);
            if  (!myFilePath.exists())  {
                myFilePath.mkdirs();
            }
        }
        catch  (Exception  e)  {
            System.out.println("新建目录操作出错");
            e.printStackTrace();
        }
    }

    /**
     * 新建文件
     * @param filePathAndName
     * @param fileContent
     */
    public  void  newFile(String  filePathAndName,  String  fileContent)  {

        try  {
            String  filePath  =  filePathAndName;
            filePath  =  filePath.toString();
            File  myFilePath  =  new  File(filePath);
            if  (!myFilePath.exists())  {
                myFilePath.createNewFile();
            }
            FileWriter  resultFile  =  new  FileWriter(myFilePath);
            PrintWriter  myFile  =  new  PrintWriter(resultFile);
            String  strContent  =  fileContent;
            myFile.println(strContent);
            resultFile.close();

        }
        catch  (Exception  e)  {
            System.out.println("新建目录操作出错");
            e.printStackTrace();

        }

    }

    /**
     * 删除文件
     * @param filePathAndName
     */
    public  void  delFile(String  filePathAndName)  {
        try  {
            String  filePath  =  filePathAndName;
            filePath  =  filePath.toString();
            java.io.File  myDelFile  =  new  java.io.File(filePath);
            myDelFile.delete();

        }
        catch  (Exception  e)  {
            System.out.println("删除文件操作出错");
            e.printStackTrace();

        }

    }

    /**
     * 删除目录
     * @param folderPath
     */
    public  void  delFolder(String  folderPath)  {
        try  {
            delAllFile(folderPath);  //删除完里面所有内容
            String  filePath  =  folderPath;
            filePath  =  filePath.toString();
            java.io.File  myFilePath  =  new  java.io.File(filePath);
            myFilePath.delete();  //删除空文件夹

        }
        catch  (Exception  e)  {
            System.out.println("删除文件夹操作出错");
            e.printStackTrace();

        }

    }

    /**
      *  删除文件夹里面的所有文件
      *  @param  path  String  文件夹路径  如  c:/fqf
      */
    public  void  delAllFile(String  path)  {
        File  file  =  new  File(path);
        if  (!file.exists())  {
            return;
        }
        if  (!file.isDirectory())  {
            return;
        }
        String[]  tempList  =  file.list();
        File  temp  =  null;
        for  (int  i  =  0;  i  <  tempList.length;  i++)  {
            if  (path.endsWith(File.separator))  {
                temp  =  new  File(path  +  tempList[i]);
            }
            else  {
                temp  =  new  File(path  +  File.separator  +  tempList[i]);
            }
            if  (temp.isFile())  {
                temp.delete();
            }
            if  (temp.isDirectory())  {
                delAllFile(path+"/"+  tempList[i]);//先删除文件夹里面的文件
                delFolder(path+"/"+  tempList[i]);//再删除空文件夹
            }
        }
    }

    /**
     * 复制文件
     * @param oldPath
     * @param newPath
     */
    public  void  copyFile(String  oldPath,  String  newPath)  {
        try  {
            int  bytesum  =  0;
            int  byteread  =  0;
            File  oldfile  =  new  File(oldPath);
            if  (oldfile.exists())  {  //文件存在时
                InputStream  inStream  =  new  FileInputStream(oldPath);  //读入原文件
                FileOutputStream  fs  =  new  FileOutputStream(newPath);
                byte[]  buffer  =  new  byte[1444];
                while  (  (byteread  =  inStream.read(buffer))  !=  -1)  {
                    bytesum  +=  byteread;  //字节数  文件大小
                    System.out.println(bytesum);
                    fs.write(buffer,  0,  byteread);
                }
                inStream.close();
            }
        }
        catch  (Exception  e)  {
            System.out.println("复制单个文件操作出错");
            e.printStackTrace();

        }

    }

    /**
     * 复制目录
     * @param oldPath
     * @param newPath
     */
    public  void  copyFolder(String  oldPath,  String  newPath)  {

        try  {
            (new  File(newPath)).mkdirs();  //如果文件夹不存在  则建立新文件夹
            File  a=new  File(oldPath);
            String[]  file=a.list();
            File  temp=null;
            for  (int  i  =  0;  i  <  file.length;  i++)  {
                if(oldPath.endsWith(File.separator)){
                    temp=new  File(oldPath+file[i]);
                }
                else{
                    temp=new  File(oldPath+File.separator+file[i]);
                }

                if(temp.isFile()){
                    FileInputStream  input  =  new  FileInputStream(temp);
                    FileOutputStream  output  =  new  FileOutputStream(newPath  +  "/"  +
                            (temp.getName()).toString());
                    byte[]  b  =  new  byte[1024  *  5];
                    int  len;
                    while  (  (len  =  input.read(b))  !=  -1)  {
                        output.write(b,  0,  len);
                    }
                    output.flush();
                    output.close();
                    input.close();
                }
                if(temp.isDirectory()){//如果是子文件夹
                    copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
                }
            }
        }
        catch  (Exception  e)  {
            System.out.println("复制整个文件夹内容操作出错");
            e.printStackTrace();

        }

    }

    /**
      *  移动文件到指定目录
      *  @param  oldPath  String  如:c:/fqf.txt
      *  @param  newPath  String  如:d:/fqf.txt
      */
    public  void  moveFile(String  oldPath,  String  newPath)  {
        copyFile(oldPath,  newPath);
        delFile(oldPath);

    }

    /**
      *  移动文件到指定目录
      *  @param  oldPath  String  如:c:/fqf.txt
      *  @param  newPath  String  如:d:/fqf.txt
      */
    public  void  moveFolder(String  oldPath,  String  newPath)  {
        copyFolder(oldPath,  newPath);
        delFolder(oldPath);

    }

}
分享到:
评论

相关推荐

    vc目录文件操作控件

    "vc目录文件操作控件"是一个专为Visual C++(VC)开发的组件,它提供了对文件和目录的高级操作功能。这个控件能够替代标准的`CFileDialog`类,`CFileDialog`是MFC(Microsoft Foundation Classes)库中用于打开和...

    易语言源码目录文件操作模块源码.rar

    在"易语言源码目录文件操作模块源码.rar"这个压缩包中,包含两个文件:"LgK2SRpv.e"和"源码使用说明.txt"。"LgK2SRpv.e"很可能是编译后的易语言模块,用于执行目录和文件的相关操作。这种模块在易语言中可以被其他...

    易语言目录文件操作模块

    易语言目录文件操作模块源码,目录文件操作模块,模块_打开文件,模块_关闭文件,模块_取文件长度,模块_读入字节集,模块_写出字节集,模块_到文件首,模块_到文件尾,模块_取当前读写位置,模块_移动读写位置,模块_取文件...

    易语言源码易语言目录文件操作模块源码.rar

    易语言源码易语言目录文件操作模块源码.rar 易语言源码易语言目录文件操作模块源码.rar 易语言源码易语言目录文件操作模块源码.rar 易语言源码易语言目录文件操作模块源码.rar 易语言源码易语言目录文件操作模块...

    C#常用目录文件操作类实例

    本文将深入探讨C#中用于目录和文件操作的一些常用类,以及如何利用这些类实现基本的文件系统操作。 首先,C#中的`System.IO`命名空间提供了丰富的类来处理文件和目录。在`System.IO`中,`Directory`和`File`类是最...

    Linux_目录文件茶操作.pdf

    Linux系统作为服务器操作系统及个人电脑中的常用操作系统,其目录文件操作是日常管理和维护工作中最基本也是最重要的技能之一。Linux下的目录文件操作主要涉及到创建、移动、重命名、复制以及删除等几个方面,这些...

    C#文件和目录操作类

    C#文件和目录操作类 主要包含文件操作类和目录操作类两个类方法

    linux操作系统实验文件和目录操作报告.pdf

    Linux 操作系统文件和目录操作报告 Linux 操作系统中的文件类型可以...在 Linux 操作系统中,文件操作命令非常丰富,包括 touch、cp、mv、rm、cat、find 等命令。这些命令可以帮助用户高效地管理和操作文件和目录。

    模拟实现采用二级目录结构的磁盘文件系统中的文件操作。

    模拟实现采用二级目录结构的磁盘文件系统中的文件操作。 文件系统是操作系统中管理和存取信息的机构,它具有“按名存取”的功能,不仅方便用户,而且能提高系统效率且安全可靠。 在用户程序中可使用文件系统提供的...

    易语言目录文件操作模块源码-易语言

    在易语言中,目录文件操作是编程过程中非常基础且重要的部分,它涉及到对文件和目录的创建、读取、删除等操作。本文将深入探讨易语言中的目录文件操作模块源码及其应用。 首先,易语言提供了丰富的内建函数和命令...

    模拟实现采用二级目录结构的磁盘文件系统中的文件操作

    ### 知识点详解 #### 一、二级目录结构及其...通过以上分析可以看出,本实习通过模拟实现采用了二级目录结构的磁盘文件系统中的文件操作,不仅加深了对文件系统原理的理解,还锻炼了数据结构设计和算法实现的能力。

    操作系统大型实验-二级目录文件系统模拟

    5. 模块化设计:良好的模块化设计可以帮助我们分离关注点,例如,可以有一个模块专门处理目录操作,另一个模块处理文件操作,还有模块负责权限管理。 6. 错误处理和异常处理:在实现过程中,必须考虑到可能出现的...

    Delphi文件及目录的使用 文件操作 目录操作

    首先,让我们从基本的文件操作开始。在Delphi中,可以使用TFile类来处理文件。例如,`TFile.Create`用于创建新文件,`TFile.OpenRead`用于打开文件以便只读访问,而`TFile.WriteAllText`则用于将文本数据写入文件。...

    C#文本文件读取和写入(文件、目录操作)

    在C#中,`System.IO`命名空间提供了丰富的类来处理文件操作。例如,`File`类提供了静态方法用于读写文件,而`StreamReader`和`StreamWriter`则用于流式读写。 1. **读取文本文件**: 使用`File.ReadAllText()`或`...

    操作系统模拟实现单级目录的文件系统

    这个系统能够完成基本的文件操作,如创建、删除、读取和写入。 首先,我们需要理解文件系统的概念。文件系统是操作系统用于组织和存储数据的一种方式,它定义了文件如何在磁盘或其他存储介质上存储和检索。在单级...

    DHU 操作系统 多用户多级目录文件系统

    DHU(可能指的是某大学或机构的缩写)操作系统实验主要关注的是多用户多级目录文件系统的实现。在计算机科学中,操作系统是管理和控制计算机硬件与软件资源的核心软件,而文件系统则是操作系统的重要组成部分,它...

    python对操作系统的目录和文件操作

    ### Python 对操作系统的目录和文件操作 在Python中进行文件和目录的操作是非常常见的需求,尤其在处理自动化脚本、文件管理或系统维护等场景时。Python内置的`os`模块提供了丰富的工具集来帮助开发者轻松地完成...

    Delphi文件目录操作一例

    摘要:Delphi源码,文件操作,目录操作  Delphi文件目录操作一例,person.dat为数据库,Delphi全目录文件拷贝、删除文件或目录到回收站中,演示了一些简单的文件FSO操作,用Delphi究竟如何实现,请下载源码一看究竟。

Global site tag (gtag.js) - Google Analytics