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

    你可能感兴趣的文章
    Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    Openlayers高级交互(9/20):编辑图形(放缩、平移、变形、旋转),停止编辑
    查看>>
    Openlayers:DMS-DD坐标形式互相转换
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenLDAP(2.4.3x)服务器搭建及配置说明
    查看>>
    OpenLDAP编译安装及配置
    查看>>
    Openmax IL (二)Android多媒体编解码Component
    查看>>
    OpenMCU(一):STM32F407 FreeRTOS移植
    查看>>
    OpenMCU(三):STM32F103 FreeRTOS移植
    查看>>
    OpenMCU(三):STM32F103 FreeRTOS移植
    查看>>
    OpenMCU(二):GD32E23xx FreeRTOS移植
    查看>>
    OpenMCU(五):STM32F103时钟树初始化分析
    查看>>
    OpenMCU(四):STM32F103启动汇编代码分析
    查看>>
    OpenMetadata 命令执行漏洞复现(CVE-2024-28255)
    查看>>
    OpenMMLab | AI玩家已上线!和InternLM解锁“谁是卧底”新玩法
    查看>>
    OpenMMLab | S4模型详解:应对长序列建模的有效方法
    查看>>
    OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
    查看>>