各种实用操作文件工具方法--笔记(java语言)

头歌 Java语言之文件目录操作 在本关中,你将被要求在src/step1目录下创建一个单目录mkdir,以及一个多目录。如果通过Java语言动手编程实现上述功能,我们需要掌握文件目录等相关知识。 阅读详情

笔记,操作文件工具类大全,所有代码功能目录都标注了,有需要找目录; 本文持续更新!

IO

JDK原生

获取Txt内容(按行读string)

  /**
    txtPath: 文件路径
    return : 行内容列表
  */
    public static List<String> getTxt(String txtPath){

        File file = new File(txtPath);
        BufferedReader reader = null;
        String temp = null;
        List<String> resList = new ArrayList<>();
        try {
            reader = new BufferedReader(new FileReader(file));
            while ((temp = reader.readLine()) != null) {
                System.out.println(temp);
                resList.add(temp);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        return resList;
    }

批量生成指定名称文件

**应用场景:想生成一批叫做 测试-1.txt、测试-2.txt、测试-3.txt **

    /**
     * 批量创建文件
     * @param createPath 文件路径
     * @param filePrefix 文件前缀 (测试)
     * @param suffix 文件后缀 (txt)
     * @param startNum 起始编号 (1)
     * @param endNum 结束编号 (10)
     */
    @Override
    public void batchCreate(String createPath, String filePrefix,String suffix, Integer startNum, Integer endNum) {
        for (int i = startNum;i<=endNum;i++){
            File file = new File(createPath+File.separator+filePrefix+"-"+i+"."+suffix);
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

Excel-poi

     //maven
        <!-- poi -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>


创建Excel 写入内容
    //生成文件位置
    private static final String PATH="D:\\3\\";

    public static void testWrite() throws Exception {

        Workbook workbook = new HSSFWorkbook();
        //创建一个工作表sheet
        Sheet sheet = workbook.createSheet("第一个sheet");
        //创建一行(0表示创建的是第一行)
        Row row1 = sheet.createRow(0);
        //创建一个单元格(这个单元格表示的是第一行第一列的单元格,即坐标(1,1))
        Cell cell11 = row1.createCell(0);
        //赋值
        cell11.setCellValue("坐标(1,1)");
        //在创建一个  坐标  1,2
        Cell cell = row1.createCell(1);
        cell.setCellValue("坐标 1,2");
        //生成Excel文件(使用io流),注:文件后缀要与excel版本对应
        FileOutputStream fileOutputStream = new FileOutputStream(PATH + "test.xls");
        //写入
        workbook.write(fileOutputStream);
        //文件写完后关闭流
        fileOutputStream.close();
    }

读取Excel内容


    /**
     * 读取Excel 某列数据
     * @param filePath excel文件路径
     * @param cellNum 获取的列数  1开始
     * @return
     */
    public static List<String> readExcel(String filePath,int cellNum) {
        List<String> resList =new ArrayList<>();
        String path = filePath;
        Workbook workbook = ExcelUtil.getWorkbook(path);
        Sheet sheetAt = workbook.getSheetAt(cellNum-1);
        //获取最大行数
        int rowNum = sheetAt.getPhysicalNumberOfRows();
        for (int i = 1; i < rowNum; i++) {
            Row row1 = sheetAt.getRow(i);
            String s1 = row1.getCell(0).toString();
            resList.add(s1);
        }

        return  resList;
    }

    //获取读取excel对象
    public static Workbook getWorkbook(String filePath) {
        Workbook wb = null;
        if (filePath == null) {
            return null;
        }
        String extString = filePath.substring(filePath.indexOf('.'));
        InputStream is = null;
        try {
            is = new FileInputStream(filePath);
            if (".xls".equals(extString)) {
                return wb = new HSSFWorkbook(is);
            } else if (".xlsx".equals(extString)) {
                return wb = new XSSFWorkbook(is);
            } else {
                return wb = null;
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        return wb;
    }

    /**
     * 测试
     * @param args
     */
    public static void main(String[] args) {
        List<String> list = ExcelUtil.readExcel("D:\\3\\其它\\military.xlsx", 1);
        for (String s : list) {
            System.out.println(s);
        }


    }



修改Excel内容
    public static void main(String[] args) {
        Workbook workbook = getWorkbook("D:/3/其它/military.xlsx");
        Sheet sheetAt = workbook.getSheetAt(0);
        //System.out.println(sheetAt);
        Row row = sheetAt.getRow(1);
        //System.out.println(row);
        Cell cell = row.getCell(2);
        System.out.println(cell);
        cell.setCellValue("中中");
        try {
            FileOutputStream fos = new FileOutputStream("D:/3/其它/military.xlsx");
            workbook.write(fos);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Excel转csv
    <dependencies>
		<dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.xls</artifactId>
            <version>12.11.8</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>
    
          
        // excel 转csv
    public static void excelToCsv(String excelPath,String csvPath){
        //创建Workbook类的对象
        com.spire.xls.Workbook workbook = new com.spire.xls.Workbook();
        //加载Excel
        workbook.loadFromFile(excelPath);

        //获取第一张工作表sheet
        Worksheet sheet = workbook.getWorksheets().get(0);

        //保存为CSV
        sheet.saveToFile(csvPath, ",", Charset.forName("UTF-8"));
    }

commons-io工具包

// maven
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.11.0</version>
            </dependency>

读取txt文本

    private static String txtPath = "D:\\3\\test.txt";

    public static void main(String[] args) throws IOException {
        File file = new File(txtPath);
        byte[] bytes = FileUtils.readFileToByteArray(file);
        System.out.println(new String(bytes));
	}

hutool工具包

// maven
		<dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-core</artifactId>
            <version>5.7.20</version>
        </dependency>

读取本地文件获取byte流

        // 本地文件路径
        String filePath = "D:\\3\\后台开发项目\\entity.json";
        File file = new File(filePath);
        byte[] bytes = FileUtil.readBytes(file);


Java Files工具类:文件操作工具方法详解(2万字保姆级教程) Files工具类是Java NIO.2 API中的一个实用工具类,位于java.nio.file包中,提供了丰富的静态方法用于文件操作,如创建、删除、复制、移动、读取和写入文件等。与传统File类相比,Files类具有更丰富的功能、更好的异常处理、支持原子操作和符号链接处理,并且性能更优。Files类与Path接口紧密结合,提供了更现代的替代方案。基础操作包括文件检查(如是否存在、可读性、文件类型等)、文件创建与删除(如创建文件、临时文件、目录,以及删除文件或目录)。Files类的核心优势在于其功能丰富性、 阅读详情

相关推荐

批量反编译Java类文件的实用方法与工具

本文还有配套的精品资源,点击获取 简介:Java类文件(.class)包含Java虚拟机可执行的字节码,但不可直接阅读。当需要理解已编译类的功能时,反编译工具变得必要。本文介绍如何使用XJad等工具批量处理多个.class文件,将其转换为可读的源代码格式,并详细描述了批量反编译的步骤。同时,也提及其他可用的反编译工具,如FernFlower、JD-GUI或Procyon,并...

weixin_42607969的博客 1695

Java文件操作常用工具类

工具类的名称:FileUtil工具类的功能:提供文件相关的操作方法,包括文件读取、写入、复制、删除等。

程序员小屋 2545

Java实用文件管理工具

本文还有配套的精品资源,点击获取 简介:Java实用文件管理工具是一款专为IT从业者设计的工具,提供文件批量提取、删除和Oracle数据库表结构导出为数据字典等功能。它简化了文件操作和数据库管理,提高了工作效率。 1. 文件批量提取 1.1 文件批量提取的原理 文件批量提取是将指定目录下的所有文件或满足特定条件的文件提取到指定位置的过程。其原理是使用操作系...

weixin_36300623的博客 1062

目前比较常用的Java操作文档工具库

Apache POI:Apache POI是一个开源的Java API,用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。它提供了丰富的功能,如读取、写入、编辑和转换Word文档。JExcelAPI:JExcelAPI是一个开源的Java库,用于读取和写入Excel文件。它提供了简单易用的API,可以操作Excel文件的各种元素,如单元格、行、列等。Apache PDFBox:Apache PDFBox是一个开源的Java库,用于处理PDF文件。

专注后端开发 1269

Java文件操作工具类的构建与应用

SimpleDateFormat类允许开发者根据需求自定义日期时间格式,使用上面提到的模式字符可以创建任何复杂的日期时间格式。例如,如果需要在日期中包含星期的全名:这将创建一个格式化字符串,比如 “Thursday, April 13, 2023 at 02:30:45 PM”。需要注意的是,SimpleDateFormat并不是线程安全的。因此,如果在多线程环境中使用它,需要格外注意线程安全问题,比如每个线程都应该有自己的SimpleDateFormat实例。

weixin_36474001的博客 887

扩展Java库的实用工具类集合:java-utilities

在面对特定的业务场景时,Java标准库提供的集合类可能无法完全满足需求,这时我们可以考虑对现有的集合类进行扩展。比如,当需要一个线程安全的队列,但又不希望使用同步包装器时,我们可以自定义一个线程安全的队列类。在实现自定义集合类时,我们可以继承现有的集合类并对其进行扩展。例如,以下代码演示了一个简单的线程安全的队列类的实现:在这个例子中,我们扩展了LinkedList类,并重写了offerpoll, 和remove方法来确保线程安全。注意,我们在每个方法前添加了。

weixin_42583683的博客 593

java读写txt

【代码】java读写txt。

笨小孩的小跟班 1051

Java类文件分析实用工具集

Java类文件包含Java虚拟机指令,但并非源代码形式,而是字节码形式。每个类或接口对应一个Class文件,它是Java虚拟机运行的基础。Java类文件,即Class文件,是JVM可识别的二进制文件格式。每个Class文件都包含了JVM指令集、符号表和其他辅助信息。一个Class文件主要包含以下几个部分:魔数和Class文件版本:魔数(Magic Number)是一个固定值0xCAFEBABE,用于识别Class文件;Class文件版本号包括主版本号和副版本号。

weixin_42360733的博客 946

java文件操作工具类(FileUtils)

Java文件操作工具类(FileUtils)是一个常见的工具类,用于简化Java程序中对文件的操作。它提供了许多静态方法,可以帮助开发人员快速读取、写入、复制、移动、删除文件等操作。以下是Java文件操作工具类(FileUtils)的一些常用方法和功能:读取文件内容:提供了读取文件内容的方法,包括读取全部内容和按行读取内容。可以使用这些方法将文件内容读取到String或List对象中。写入文件内容:提供了写入文件内容的方法,可以将指定的字符串或字节数组写入文件中。还可以选择是否追加内容到文件末尾。

Flying_Fish_roe的博客 2157

全球半导体设备氧化钇熔射服务行业规模预测:预计未来六年CAGR为7.8%

本文将对“半导体设备氧化钇熔射服务”行业进行深度分析,探讨市场趋势的演变、核心竞争者的战略布局、供应链结构的内外特点、研发创新的最新进展、法规政策环境的适应性调整以及投资机会与风险评估。这一稳健的增长趋势表明半导体设备氧化钇熔射服务在电子行业中的重要性逐渐增强。由于全球对于高效、高精度和可靠的电子解决方案的需求增加,对能够提供这些功能的半导体设备氧化钇熔射服务的需求日益增长。由于半导体设备氧化钇熔射服务主要为就地服务型,其“配送”主要依赖于专业团队和技术设备的及时调配,强调服务的时效性和高质量。

CC1239777的博客 570

经典算法之——解决全排列问题以及详解

回溯”指的是“状态重置”,可以理解为“恢复现场”,是在编码的过程中,是为了节约空间而使用的,而在递归或者深度优先中根据需要的场合来配合回溯法可以进一步对自己的代码进行优化。, n-1, n},方向都为向左。邻位对换法是全排列生成算法中的其中一种,它的换位是双向的,通过保存数字的“方向性”来快速得到下一个排列。最后以 3 开头的全排列为[3, 1, 2], [3, 2, 1];以 1 开头的全排列为[1, 2, 3], [1, 3, 2];以 2 开头的全排列为[2, 1, 3], [2, 3, 1];

m0_68987535的博客 8795

java 读取excel 转换csv_java poi excel转csv

在上传excel功能中,对于很大的excel文件直接上传往往会因为文件太大导致内存溢出上传失败,poi提供了首先把excel转为csv再读取上传的方法,在此记录一下。所需jar包 maven pom.xml配置:org.apache.poipoi4.1.0org.apache.poipoi-ooxml4.1.0新建XLSXCovertCSVReader工具类package com.ways.app...

weixin_39603799的博客 950

PaddleOCR实战:DBnet++与DBnet模型训练全流程解析

本文详细解析了基于PaddleOCR框架的DBnet与DBnet++文字检测模型的完整训练流程。从环境配置、数据集准备、配置文件解读,到模型训练、评估调参及最终推理部署,提供了实战指南。重点对比了DBnet++与DBnet在精度、速度及适用场景上的差异,帮助开发者高效构建定制化的OCR检测模型。

weixin_29038155的博客 333

Java实用学习方法,笔记工具OneNote使用讲解

俗话说:“好记性不如烂笔头”,不得不说,这句话在大部分时候都是适用的。特别是刚入门学习java的小白们,记笔记是非常实用的学习方法也可直接观看视频学习如何使用笔记工具,b站上动力节点老杜最新Java17版教程,从零基础出发,讲解Java编程的基础知识和实践技巧,涵盖了Java编程的方方面面。

2301_78369638的博客 736

VisualSFM+MeshLab 三维重建全过程记录

VisualSFM+MeshLab 三维重建全过程记录,从下载到运行出结果,以及其中一些可能出现的小问题。通过这两个软件熟悉一下多目立体视觉重建的流程。

何似莫相逢 3万+

避坑指南:ZYNQ MPSOC QSPI固化时MT25QU256闪存的特殊配置

本文针对Xilinx ZYNQ UltraScale+ MPSoC平台,详细解析了使用Vitis工具将BOOT.bin固化至Micron MT25QU256ABA QSPI NOR Flash时的特殊配置与避坑指南。重点阐述了Init文件的真实作用、电压与频率的精确匹配策略,以及针对该闪存型号的初始化序列,帮助工程师解决烧录失败、启动异常等常见问题,确保系统可靠启动。

weixin_29175469的博客 271

Java学习方法论之笔记工具篇

时隔大半年,又开始更新了,这次应该会坚持得比较久。 本篇文章主要讲述作为一名Java开发者,从最初学习阶段到目前我使用的笔记工具是怎么样变化的,以及如何找到最适合自己的笔记工具。 在日常的Java学习中,我们常常碰到一种情况是:好不容易学会的知识点,没过半个月快忘干净了,于是又捡起来温故知新;有时是知识点太多,代码敲少了没有实践也忘记得快;于是我们依靠笔记和常态的复习以及刻意的代码练习来加强在...

上帝的长夜没有尽期 1885

电机驱动和电源等大电流设计中的并联 MOSFET设计

在电机驱动等应用中,半桥拓扑(通常为 3 相)用于生成在电机中产生正扭矩或负扭矩的交流电源信号。想要更高的输出电流能力,只有通过并联形成每个功能开关的 MOSFET,才能实现高输出电流。当多个功率 MOSFET 并联以增加系统整体电流能力容量时,通常假设电流在并联器件之间均等分配或均等共享。然而,在并联 MOSFET 时,需要考虑并联器件之间的电流分配。PCB 布局的若干特性和特定的MOSFET 参数会影响这种分配,并在参数不匹配或布局不对称时导致均流不平衡。

小幽余生不加糖 2487

Groovy文件操作指南:读写文件的10种实用方法

你是否还在为Java中繁琐的文件读写代码而烦恼?每次处理文件都需要编写大量的异常处理和流关闭代码?本文将带你探索Groovy语言在文件操作方面的强大能力,通过10种实用方法,让你轻松应对各种文件读写场景,大幅提升开发效率。 读完本文后,你将能够: - 使用Groovy简洁的语法实现文件读写 - 掌握多种文件操作技巧,适应不同场景需求 - 了解Groovy文件操作的性能考量和最佳实践 - 解决实际...

gitblog_00171的博客 1204

杰理AC695N/AC696N/AC701N系列芯片在线调音教程

本教程详细介绍AC695N/AC696N/AC701N芯片在线音效调试方法,包括工具准备(需安装杰理包管理器)、程序修改(需关闭USB功能并启用在线调试宏)、连接方式(USB或串口)、音效调节步骤(EQ和混响参数调整)以及配置保存。注意事项包括版本匹配、连接检查和供电稳定等,并提供常见问题解决方案。适用于快速配置实时音效调试环境并保存最终配置。

qq_42014563的博客 1406

Qt入门教程【高级控件篇】QModelIndex索引

QModelIndex索引

小鱼酱的博客 4466

java 文件操作工具类

java文件操作工具类:package 工具类.utilClass; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.

正恩元帅的专栏 1344

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

9个Java开发中实用的工具类

本文将向您介绍一组在Java开发中不可或缺的实用工具类:Objects、StringUtils、BeanUtils、ReflectionUtils、DigestUtils 和 HttpStatus。它们涵盖了从基本的对象操作到高级的数据加密及HTTP状态码管理等多个方面,旨在帮助开发者更高效地工作。

Mlj_0120的博客 1795

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java语言的文件操作

本文详细介绍了Java语言中的文件操作,包括文件的创建、读取、写入、复制、移动和删除等基本功能。Java提供的类和包等API使得文件操作变得非常简单方便。掌握了这些基本文件操作后,你就可以在项目中灵活运用各种文件管理功能,为你的应用增加更多的实用性。继续深入学习Java的文件操作,你还可以探索更多高级特性,如文件的随机访问、内存映射文件等。这些知识将帮助你成为一名更好的Java开发者,为你的项目增添更多的可能性。

2501_91366331的博客 588

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java实现文件操作工具类

一点睛 操作文件是我们常见操作,在此提供一个文件工具类。 二代码 package com.imooc.demo.common.util; import org.apache.commons.lang3.StringUtils; import sun.misc.BASE64Encoder; import java.io.*; import java.net.URLEncoder; /** * @className: FileUtils * @description: 文件操作工具类 *..

实践求真知 460
上一篇: Springboot 集成整合mybatis plus 操作全集
下一篇: ChatGPT开源模型3.5 API调用示例
一个没有梦想的程序员
博客等级 码龄7年 20粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值