Java对文件的操作

文件测试

批量对文件直接增加指定后缀(原有后缀变文件名的一部分)

import java.io.File;// 批量对文件直接增加指定后缀(原有后缀变文件名的一部分)
public class AddFileExt {public static void main(String[] args) {String fileDir = "D:\\xxx\\xxx\\xxx";String ext = ".war";final File rawFileDirectory = new File(fileDir);final File[] files = rawFileDirectory.listFiles();for (File temp : files) {final String targetFile = temp.getParent() + "/" + temp.getName() + ext;temp.renameTo(new File(targetFile));}}
}

批量对某类文件后缀进行修改

import java.io.File;// 批量对某类文件后缀进行修改
public class ChangeFileExt {public static void main(String[] args) {String fileDir = "D:\\xxx\\xxx\\xxx";String rawExt = ".zip";String targetExt = ".war";final File rawFileDirectory = new File(fileDir);final File[] files = rawFileDirectory.listFiles();for (File temp : files) {if (temp.getName().endsWith(rawExt)) {final String targetFile = temp.getParent() + "/" + temp.getName().substring(0, temp.getName().lastIndexOf(".")) + targetExt;temp.renameTo(new File(targetFile));}}}
}

批量删除指定文件类型的后缀

import java.io.File;// 批量删除指定文件类型的后缀
public class DeleteFileSubExt {public static void main(String[] args) {String fileDir = "D:\\xxx\\xxx\\xxx";String removeExt = ".war";final File rawFileDirectory = new File(fileDir);final File[] files = rawFileDirectory.listFiles();for (File temp : files) {if (temp.getName().endsWith(removeExt)) {final String targetFile = temp.getParent() + "/" + temp.getName().substring(0, temp.getName().lastIndexOf("."));temp.renameTo(new File(targetFile));}}}
}

Java文件之File各个方法获取到的值

import java.io.File;
import java.io.IOException;public class FileTest {public static void main(String[] args) throws IOException {final File file = new File("D:\\xxx\\xxx\\test.txt");System.out.println("file.getName() = " + file.getName());System.out.println("file.getPath() = " + file.getPath());System.out.println("file.getParent() = " + file.getParent());System.out.println("file.getAbsolutePath() = " + file.getAbsolutePath());System.out.println("file.getCanonicalPath() = " + file.getCanonicalPath());System.out.println("file.getParentFile() = " + file.getParentFile());System.out.println();new FileTest().printThisName();}public void printThisName() {System.out.println("this.getClass().getPackage() = " + this.getClass().getPackage());System.out.println("this.getClass().getName() = " + this.getClass().getName());System.out.println("this.getClass().getSimpleName() = " + this.getClass().getSimpleName());System.out.println("this.getClass().getCanonicalName() = " + this.getClass().getCanonicalName());System.out.println("this.getClass().getTypeName() = " + this.getClass().getTypeName());}
}

输出结果

file.getName() = test.txt
file.getPath() = D:\xxx\xxx\test.txt
file.getParent() = D:\xxx\xxx
file.getAbsolutePath() = D:\xxx\xxx\test.txt
file.getCanonicalPath() = D:\xxx\xxx\test.txt
file.getParentFile() = D:\xxx\xxx

this.getClass().getPackage() = package com.test.io
this.getClass().getName() = com.test.io.FileTest
this.getClass().getSimpleName() = FileTest
this.getClass().getCanonicalName() = com.test.io.FileTest
this.getClass().getTypeName() = com.test.io.FileTest

类加载器获取资源路径

import java.io.IOException;public class ClassLoaderResource {public static void main(String[] args) throws IOException {new ClassLoaderResource().print();}private void print() throws IOException {System.out.println("this.getClass().getClassLoader().getResource() = " + this.getClass().getClassLoader().getResource(""));System.out.println("this.getClass().getClassLoader().getParent() = " + this.getClass().getClassLoader().getParent());System.out.println("this.getClass().getClassLoader().getResources() = " + this.getClass().getClassLoader().getResources(""));}
}

输出结果

this.getClass().getClassLoader().getResource() = file:/F:/xxx/xxx/xxx/target/classes/
this.getClass().getClassLoader().getParent() = sun.misc.Launcher$ExtClassLoader@1f89ab83
this.getClass().getClassLoader().getResources() = sun.misc.CompoundEnumeration@6bc168e5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAD石墨烯生成器 V1.0 渊鱼

插件介绍 CAD石墨烯生成器插件可用于在AutoCAD软件内参数化建立石墨烯几何模型。插件建立石墨烯的球棍模型,可控制模型的尺寸、碳原子环的尺寸、原子直径、化学键直径,并可控制模型的起伏形态。插件生成的实体模型可进行修改或绘图渲染,用于…

做视频号小店和达人对接的好,爆单少不了!

大家好,我是喷火龙。 目前,视频号是没有什么自然流量的,所以,想要出单、爆单的话,靠达人带货的方式才是最可靠的,靠达人带货是肯定要对接达人,并和达人沟通带货的。 下面给大家讲一讲应该怎么…

python Z-score标准化

python Z-score标准化 Zscore标准化sklearn库实现Z-score标准化手动实现Z-score标准化 Zscore标准化 Z-score标准化(也称为标准差标准化)是一种常见的数据标准化方法,它将数据集中的每个特征的值转换为一个新的尺度,使得转化后的…

关于EasyExcel导入数据时表格日期格式识别为数字问题

参考官方地址 自定义日期转字符串转换器 /*** 自定义excel日期转换器** author li* date 2024-05-29*/ public class CustomStringDateConverter implements Converter<String> {Overridepublic Class<?> supportJavaTypeKey() {return String.class;}Overridep…

SQL常用语句(三)-- Now()返回当前本地日期和时间的日期/时间函数,以及时间的加减

#获取当前时间&#xff1a; SELECT NOW() AS newTime; #2019-05-20 14:28:41 #当前时间减30秒&#xff1a; SELECT (NOW() - INTERVAL 30 SECOND) AS newTime; #2019-05-20 14:29:31 #当前时间加30秒&#xff1a; SELECT (NOW() INTERVAL 30 SECOND) AS newTime; …

三十五岁零基础转行成为AI大模型开发者怎么样呢?

以下从3个方面帮大家分析&#xff1a; 35岁转行会不会太晚&#xff1f;零基础学习AI大模型开发能不能学会&#xff1f;AI大模型开发行业前景如何&#xff0c;学完后能不能找到好工作&#xff1f; 一、35岁转行会不会太晚&#xff1f; 35岁正处于人生的黄金时期&#xff0c;拥…

今日选题.

诱导读者点开文章的9引真经&#xff08;二&#xff09; 标题重要么&#xff1f;新媒体、博客文通常在手机上阅读。首先所有的内容不同于纸媒&#xff0c;手机只展现标题&#xff0c;而内容都是折叠。其次读者能像看内容一样看4、5条或者7、8条标题&#xff08;区别于不同的主流…

如何在Web页面中集成AI图像识别功能

前言 在信息时代&#xff0c;Web 页面成为我们与世界交互的重要窗口。AI 技术的迅猛发展&#xff0c;特别是图像识别技术&#xff0c;为 Web 页面带来了革命性的变化。通过在 Web 页面上实现图像识别&#xff0c;我们即将迈入一个更加智能与便捷的时代。这种技术不仅使网页能够…

2024广东省赛 C.DFS序

题目 #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 #define ll long long const int maxn 1e6 5, inf 1e9, maxm 4e4 …

代码助手之-百度Comate智能体验

简介 越来越多的厂商提供了智能代码助手&#xff0c;百度也不例外。Baidu Comate&#xff08;智能代码助手&#xff09;是基于文心大模型&#xff0c;Comate取自Coding Mate&#xff0c;寓意大家的AI编码伙伴。Comate融合了百度内部多年积累的编程现场大数据和外部开源代码和知…

如何顺利通过软考中级系统集成项目管理工程师?

中级资格的软考专业包括"信息系统"&#xff0c;属于软考的中级级别。熟悉软考的人都知道&#xff0c;软考分为初级、中级和高级三个级别&#xff0c;涵盖计算机软件、计算机网络、计算机应用技术、信息系统和信息服务五个专业&#xff0c;共设立了27个资格。本文将详…

全程曝光 计算机领域顶会投稿后会经历哪些关键环节?

会议之眼 快讯 亲爱的计算机领域大牛们&#xff0c;当你挥洒汗水&#xff0c;精心打磨一篇科研论文&#xff0c;终于怀着激动的心情投稿至顶会——&#xff08;如&#xff08;ACM MM 、ACL、AAAI&#xff09;时&#xff0c;你是否想知道接下来这篇论文会经历怎样的旅程&#x…

产业园物业满意度调研如何抽样

本文由群狼调研&#xff08;长沙商圈选址调查&#xff09;出品&#xff0c;欢迎转载&#xff0c;请注明出处。在进行产业园物业满意度调研时&#xff0c;可以采用以下抽样方法&#xff1a; 群体抽样&#xff1a;从产业园内的不同群体中随机选择样本。例如&#xff0c;可以根据不…

Mybatis进阶——动态SQL(1)

目录 一、 <if> 标签 二、<trim> 标签 三、<where> 标签 四、<set> 标签 五、<foreach> 标签 六、<include> 标签 动态SQL 是Mybatis的强大特性之一&#xff0c;能够完成不同条件下的不同SQL拼接&#xff0c;可以参考官方文档&#…

pyQt处理任务等待动画

写了一个显示Qt正在处理内容的等待动画&#xff0c;任务另开一个线程执行&#xff0c;执行完后自动关闭动画 from PyQt5 import QtCore, QtWidgets from PyQt5.QtWidgets import QApplication, QMessageBox, QDialog, QVBoxLayout from PyQt5.QtCore import pyqtSignal, QTime…

理解消息队列:队列与主题的区别

理解消息队列:队列与主题的区别 如果你研究过多种消息队列产品,可能会发现每种消息队列都有自己的一套消息模型,像队列(Queue)、主题(Topic)或分区(Partition)这些名词概念在不同的消息队列模型中含义各异。这是因为没有统一的标准。尽管曾有国际组织尝试制定过消息相…

springboot 作为客户端接收服务端的 tcp 长连接数据,并实现自定义结束符,解决 粘包 半包 问题

博主最近的项目对接了部分硬件设备&#xff0c;其中有的设备只支持tcp长连接方式传输数据&#xff0c;博主项目系统平台作为客户端发起tcp请求到设备&#xff0c;设备接收到请求后作为服务端保持连接并持续发送数据到系统平台。 1.依赖引入 连接使用了netty&#xff0c;如果项…

CPU占用率很高,相应很慢排查思路

获取线程状态 通过top -c命令可以动态显示进程及其占用资源的排行榜 可以看到&#xff0c;CPU占用率100%的PID是80972&#xff0c;定位到该进程之后&#xff0c;我们再从线程的dump日志中去定位. 使用top -H -p 80972命令查找到该进程中消耗CPU最多的线程&#xff0c;从下面的…

Apose.Words 常用对象详解

系列文章目录 文章目录 系列文章目录前言一、基础对象1. moveToBookmark 前言 本文介绍 Apose.Words 的常用对象的含义及使用方法。 一、基础对象 1. moveToBookmark 将指针移动到书签位置。 moveToBookmark(String bookmarkName, boolean isStart, boolean isAfter) book…

国产可视化爬虫助力AI大模型训练:精准爬取汉语词典

大语言模型&#xff0c;可以生成流畅对话的会话聊天机器人、通畅起草文章的内容生成器。在炫酷技术的背后&#xff0c;数据、算力、算法&#xff0c;被视作生成式AI的三个核心要素。由此可见&#xff0c;高质量的训练数据对于AI算法的准确性至关重要。 如何获得高质量的训练数…