博客
关于我
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/

    你可能感兴趣的文章
    Nacos心跳机制实现快速上下线
    查看>>
    nacos报错com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
    查看>>
    nacos服务提供和发现及客户端负载均衡配置
    查看>>
    Nacos服务注册与发现demo
    查看>>
    Nacos服务注册与发现的2种实现方法!
    查看>>
    nacos服务注册和发现原理简单实现案例
    查看>>
    Nacos服务注册总流程(源码分析)
    查看>>
    nacos服务注册流程
    查看>>
    Nacos服务部署安装
    查看>>
    nacos本地可以,上服务器报错
    查看>>
    Nacos注册Dubbo(2.7.x)以及namespace配置
    查看>>
    Nacos注册中心有几种调用方式?
    查看>>
    nacos注册失败,Feign调用失败,feign无法注入成我们的bean对象
    查看>>
    nacos源码 nacos注册中心1.4.x 源码 nacos源码如何下载 nacos 客户端源码下载地址 nacos discovery下载地址(一)
    查看>>
    nacos源码 nacos注册中心1.4.x 源码 spring cloud alibaba 的discovery做了什么 nacos客户端是如何启动的(二)
    查看>>
    nacos源码 nacos注册中心1.4.x 源码 如何注册服务 发送请求,nacos clinet客户端心跳 nacos 注册中心客户端如何发送的心跳 (三)
    查看>>
    Nacos源码分析:心跳机制、健康检查、服务发现、AP集群
    查看>>
    nacos看这一篇文章就够了
    查看>>
    Nacos简介、下载与配置持久化到Mysql
    查看>>
    Nacos简介和控制台服务安装
    查看>>