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

本文共 1895 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    Net操作配置文件(Web.config|App.config)通用类
    查看>>
    net网络查看其参数state_dict,data,named_parameters
    查看>>
    Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载
    查看>>
    NeurIPS(神经信息处理系统大会)-ChatGPT4o作答
    查看>>
    neuroph轻量级神经网络框架
    查看>>
    Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
    查看>>
    new Blob()实现不同类型的文件下载功能
    查看>>
    New Concept English three (35)
    查看>>
    NEW DATE()之参数传递
    查看>>
    New Journey--工作五年所思所感小记
    查看>>
    new Queue(REGISTER_DELAY_QUEUE, true, false, false, params)
    查看>>
    New Relic——手机应用app开发达人的福利立即就到啦!
    查看>>
    new work
    查看>>
    new 一个button 然后dispose,最后这个button是null吗???
    查看>>
    NewspaceGPT的故事续写能力太强了
    查看>>
    NewspaceGPT绘制时序图
    查看>>
    NewspaceGPT绘制类图
    查看>>
    new一个对象的过程
    查看>>
    new和delete用法小结
    查看>>
    new对象时,JVM内部究竟藏了什么小秘密?
    查看>>