各种实用操作文件工具方法--笔记(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

高效利用ChEMBL数据库:从靶点查询到活性数据处理的完整指南

本文提供了高效利用ChEMBL数据库的完整指南,从靶点查询到活性数据处理。详细介绍了靶点精准定位、高级过滤技巧、数据导出优化以及活性数据清洗、特征工程和可视化等实战技巧,帮助药物研发人员快速获取和处理生物活性数据,提升工作效率。

weixin_29278805的博客 798

Xilinx System Generator多速率系统(Multi-Rate Systems)的使用

在本实验练习中,您将学习在System Generator中如何使用多个时钟域有效地实现具有多个数据速率的设计。

白码王子小张的博客 1093

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

YOLO11实战 第001期-基于yolo11的CrowdHuman密集行人目标检测实战文档(yolo格式数据免费获取)

1.数据阶段在拥挤/遮挡场景下,使用crowdhuman数据集重训练后的yolo11,效果表现较好。crowdhuman数据集标签如下,有Head BBox、Visible BBox、Full BBox。如下图显示:数据集介绍CrowdHuman数据集是旷世发布的用于行人检测的数据集,图片数据大多来自于google搜索。CrowdHuman数据集数据量比较大,15000张,5000张,验证集4370张。训练集和验证集中共有470K个实例,约每张图片包含23个人,同时存在各种各样的遮挡。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 2167

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

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

2301_78369638的博客 736

模块 stm32_基于STM32设计的RFID读卡模块电路方案(原理图+程序)

采用stm32F030F4,用PWM产生125KHZ的方波,经过推挽电路进行功率放大,高频电流进入LC串联谐振电路,345uH和4.7NF的谐振频率正好是125KHZ,这时电容两端电压会到十几伏。当有卡接近线圈时,线圈两端会有曼彻斯特编码的调幅波。通过二极管以及电容的检波和滤波,产生的小信号送入LM358进行放大和整形,变成单片机可以读取的曼彻斯特编码信号。• IO 分配(采用内部晶...

weixin_28686771的博客 3816

ADS 2023 实战:手把手教你仿真一个中心频率 2.4GHz 的带通滤波器(附工程文件)

本文详细介绍了使用ADS 2023软件设计和仿真中心频率2.4GHz带通滤波器的全流程,包括工程准备、指标定义、原理图设计、仿真优化及实际电路实现。通过切比雪夫滤波器拓扑和参数优化,实现高性能的带通滤波器设计,适用于无线通信系统。附有工程文件和常见问题解决方案,助力工程师快速掌握射频滤波器设计技巧。

weixin_30790841的博客 482

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

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

上帝的长夜没有尽期 1885

基于 C# 实现 RTSP 摄像头监控分屏系统:从流媒体获取到多画面显示

通过本文的讲解,我们介绍了如何在 C# 中实现 RTSP 摄像头监控分屏系统。我们使用了FFmpeg和VLC两种不同的方法来获取和解码 RTSP 流,并通过PictureBox控件和控件实现了分屏布局。两种解码方案都非常强大,可以根据实际需求选择最适合的方案。通过这种方式,您可以轻松地在 C# 中集成 RTSP 流,并将多个摄像头的视频流实时显示在同一屏幕上,进行监控和分析。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2309

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

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

gitblog_00171的博客 1204

量化之趋势跟踪策略

趋势跟踪策略 import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns from finance import GetData import warnings; warnings.filterwarnings('ignore') data = GetData.get_data('../data/002236.csv') .

木头大左的博客 2533

学 Simulink—— 基于高频方波电压注入的表贴式永磁电机无感控制仿真

本文手把手教授基于Simulink的高频方波电压注入法实现表贴式永磁同步电机(SPMSM)无传感器控制。针对表贴式电机微弱凸极特性(Lq/Ld≈1.05-1.15),详解方波注入相比正弦注入的优势:通过5kHz方波(PWM频率半值)集中能量提升信噪比,并采用相邻周期电流直接相减的零延迟分离技术。系统架构包含高频注入器、无滤波器信号分离模块、锁相环观测器和磁饱和极性辨识等关键环节,提供参数设置经验(如注入幅值10-15%Vdc)和典型性能指标(位置误差<0.2rad)。特别强调工程实现要点:PWM同步时

xiaoheshang_123的博客 168

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

蓝牙模块HM-10手册

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

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

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

Mlj_0120的博客 1795

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java语言的文件操作

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

2501_91366331的博客 588

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

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

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、付费专栏及课程。

余额充值