博客
关于我
IO 写的文件操作类
阅读量:796 次
发布时间:2019-03-25

本文共 1900 字,大约阅读时间需要 6 分钟。

Java 文件操作工具类详解

操作概述

本工具类提供了一系列文件及目录操作功能,涵盖文本文件操作、目录管理、文件操作等内容,适用于文件管理中常见需求。


主要功能概述

1. 文件读取

public String readTxt(String filePathAndName, String encoding) throws IOException
  • 功能:读取文本文件内容
  • 输入:文件完整路径及编码方式
  • 输出:文件内容字符串
  • 注意:支持默认编码,适用于不同平台文件格式

2. 目录操作

public String createFolder(String folderPath)
  • 功能:新建指定路径的目录
  • 输入:目录完整路径
  • 输出:操作后的路径
  • 支持:单级目录创建

3. 多级目录创建

public String createFolders(String folderPath, String paths)
  • 功能:创建多级目录
  • 示例
    • 调用参数:c:/myfolder a|b|c
    • 创建路径:c:/myfolder/a/b/c
  • 支持:自动处理多级目录创建

4. 文件操作

public void createFile(String filePathAndName, String fileContent)
public void createFile(String filePathAndName, String fileContent, String encoding)
  • 功能:新建文件
  • 注意
    • 非递归创建
    • 支持指定编码方式

5. 文件删除

public boolean delFile(String filePathAndName)
  • 功能:删除指定文件
  • 返回:操作是否成功(true/false)
  • 异常处理:记录错误信息

6. 目录删除

public void delFolder(String folderPath)
  • 功能:删除指定目录及内容
  • 步骤
  • 删除目录内所有文件
  • 删除空目录

7. 文件复制

public void copyFile(String oldPathFile, String newPathFile)
  • 功能:复制单个文件
  • 注意:自动处理文件大小及写入速度

8. 目录复制

public void copyFolder(String oldPath, String newPath)
  • 功能:复制整个目录内容
  • 支持:递归复制文件夹内所有内容

9. 文件移动

public void moveFile(String oldPath, String newPath)
public void moveFolder(String oldPath, String newPath)
  • 功能:移动文件/文件夹
  • 操作流程
    • 复制文件到新位置
    • 删除原文件

工作原理解析

1. 文件读取

  • 输入流读取文件内容
  • 使用BufferedReader加速读取
  • 内容中添加空格分隔

2. 目录操作(createFolder)

  • 使用File对象操作目录
  • 检查目录存在状态
  • 逃mark 创建新目录

3. 多级目录处理

  • 使用StringTokenizer解析路径
  • 递推创建每个目录
  • 维护当前路径

4. 文件创建

  • 检查文件是否存在
  • 创建新文件
  • vysokinds 写入内容

实用方法示例

示例1:创建多级目录

// 调用示例
String paths = "a|b|c";
String folderPath = "c:/myfolder";
String resultPath = createFolders(folderPath, paths); // 返回 c:/myfolder/a/b/c

示例2:创建文件并写入内容

String fileContent = "欢迎使用文件操作工具!";
createFile("c:/myfile.txt", fileContent);

示例3:复制文件夹

// 需要复制 directory/ 到 newDirectory/
copyFolder("directory/", "newDirectory/");

开发注意事项

  • 异常处理:采用try-catch结构
  • 文件路径:建议使用绝对路径
  • 编码问题:处理不同平台文件编码差异
  • 性能优化:适当缓冲读取和写入

  • 代码架构亮点

  • 简化读写流程:封装了常用操作
  • 支持多种编码方式:灵活处理文本文件
  • 递归操作:实现多级目录和文件夹创建/删除
  • 本工具类代码涵盖了Java文件操作的主要场景,适合开发中常用功能模块,方便日常工作和开发复用。

    转载地址:http://vnguk.baihongyu.com/

    你可能感兴趣的文章
    np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
    查看>>
    np.power的使用
    查看>>
    NPM 2FA双重认证的设置方法
    查看>>
    npm build报错Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin‘解决方法
    查看>>
    npm build报错Cannot find module ‘webpack‘解决方法
    查看>>
    npm ERR! ERESOLVE could not resolve报错
    查看>>
    npm ERR! fatal: unable to connect to github.com:
    查看>>
    npm ERR! Unexpected end of JSON input while parsing near '...on":"0.10.3","direc to'
    查看>>
    npm ERR! Unexpected end of JSON input while parsing near ‘...“:“^1.2.0“,“vue-html-‘ npm ERR! A comp
    查看>>
    npm error Missing script: “server“npm errornpm error Did you mean this?npm error npm run serve
    查看>>
    npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装
    查看>>
    npm install CERT_HAS_EXPIRED解决方法
    查看>>
    npm install digital envelope routines::unsupported解决方法
    查看>>
    npm install 卡着不动的解决方法
    查看>>
    npm install 报错 EEXIST File exists 的解决方法
    查看>>
    npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
    查看>>
    npm install 报错 Failed to connect to github.com port 443 的解决方法
    查看>>
    npm install 报错 fatal: unable to connect to github.com 的解决方法
    查看>>
    npm install 报错 no such file or directory 的解决方法
    查看>>
    npm install 权限问题
    查看>>