目前想学习Java工具类,FileUtil绝对是必学的,如果时间成本有限,最多只能学习5个类~请列举工作中程序中经常用到的且比较重要的5个工具类,此处已不包括FileUtil了。
java.util包下都值得看看
看你要用Java做什么
常用的:正则表达式、HttpClent 可以做爬虫
Math BigInteger 可以科学计算
POI 可以读写 Word Excel 文档
Runtime 执行外部可执行程序,可以实现一些 bot
Data Calendar等可以进行日期计算
等等
如果一定要一个类一个类的学过去的话,那么可以列举出几个类
-=-=-==-
问题是每个类里面,最重要的东西不超过5%
实际上你系统的去把每个类里的函数都学一遍,就跟上来就背英语字典一样
好不容易把字母a背完了,结果一句完整的话也说不出来
你还是应该基于现实的应用,把最常用的15个类里面最常用的3个函数记一记就好了,而不是把最常用的5个类里所有东西都搞懂
这就像你记单词的时候,很多词是衍生出来的,你不用一个一个的去记,也能大概猜出是什么意思
类库里也有很多函数是重载,一开始你并不需要把每一个都搞懂,搞懂一个典型的,后面的即使有区别,到时候仔细看一下参数说明就会用了
StringUtils:字符串工具类
DateUtils:日期工具类
MathUtils:数学工具类
CollectionUtils:集合工具类
Arrays : 基础工具类
这几个就够了
package com.Li.Commmons;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import org.apache.commons.io.FileUtils;
/**
* @Description: 利用Commons-io.jar创建文件的工具类
* @auther:Li Ya Hui
* @Time:2021年4月25日上午11:05:45
*/
public class FileTools {
/**
* @desc 1.读取文件中的每一行
* @param pathname
* @throws IOException
*/
public void getLinesByRead(String pathname) throws IOException{
//下面的代码用于读取磁盘上的某个文件
File file=new File(pathname);
List<String> list = FileUtils.readLines(file, "GBK");
for (String every : list)
{
System.out.println(every);
}
}
/**
* @desc 2.将字符串写入到文件中
* @param pathname
* @param str
* @throws IOException
*/
public void strWriteToFile(String pathname,String str) throws IOException
{
File file=new File(pathname);
FileUtils.writeStringToFile(file, str, "GBK", true);
System.out.println("字符串写入成功了");
}
/**
* @desc 3.逐行写入文件中,但是效果会是文件的复制
* @param srcPath
* @param purposePath
* @throws IOException
*/
public void strWriteToFile2(String srcPath,String purposePath) throws IOException
{
File file =new File(srcPath);
List<String> line = FileUtils.readLines(file, "GBK");//逐行的读取
File file2=new File(purposePath);
FileUtils.writeLines(file2, line);
System.out.println("逐行写入文件成功了");
}
/**
* @desc 4.文件复制
* @param srcPath
* @param purposePath
* @throws IOException
*/
public void fileCopy(String srcPath,String purposePath) throws IOException
{
File srcFile=new File(srcPath);
File purposeFile=new File(purposePath);
FileUtils.copyFile(srcFile, purposeFile);
System.out.println("文件复制成功了");
}
/**
* @desc 5.根据URL进行赋值,产生的结果就是相当于是另存为
* @param url
* @param pathname
* @throws Exception
*/
public void urlSaveAsFile(String url,String pathname) throws Exception
{
URL urlHtml=new URL(url);
File file=new File(pathname);
FileUtils.copyURLToFile(urlHtml, file);
System.out.println("另存为成功了");
}
/**
* @desc 6.删除路径下的文件和文件夹
* @param pathname
* @throws Exception
*/
public void delete(String pathname) throws Exception
{
File file=new File(pathname);
FileUtils.deleteDirectory(file);
}
}
//测试类
package com.Li.Commmons;
/**
* @Description: 测试类:测试Common-io包
* @auther:Li Ya Hui
* @Time:2021年4月25日上午11:05:16
*/
public class Test01 {
public static void main(String[] args) throws Exception {
//实例化工具类
FileTools fts=new FileTools();
//读取文件中的每一行
fts.getLinesByRead("E:/123.txt");
//将字符串写入到文件中
fts.strWriteToFile("E:/123.txt", "沙漠之舟aaa");
//逐行写入文件,文件复制
fts.strWriteToFile2("E:/123.txt", "F:/123.txt");
//文件的复制
fts.fileCopy("E:/123.txt", "E:/cp/666.txt");
//网络音频的下载
fts.urlSaveAsFile("https://d-ring.i4.cn/audio/2019/09/02/15/1567407708580_446168.mp3", "E:/cp/mp3/123.mp3");
//文件夹的删除
fts.delete("E:/cp");
}
}
常用的5个工具类如下:
1. StringUtils:用于处理字符串的工具类,提供了各种字符串操作方法,如判断是否为空、字符串拼接、字符替换等。
例子:
```
String str = "Hello, world!";
boolean isEmpty = StringUtils.isEmpty(str); // 判断字符串是否为空
String upperCase = StringUtils.upperCase(str); // 将字符串转换为大写
```
2. DateUtils:用于处理日期和时间的工具类,提供了各种日期操作方法,如格式化日期、获取日期差距、日期加减等。
例子:
```
Date date = new Date();
String formattedDate = DateUtils.formatDate(date, "yyyy-MM-dd"); // 格式化日期为字符串
int daysBetween = DateUtils.daysBetween(startDate, endDate); // 计算两个日期之间的天数差
```
3. StringUtils:用于处理数组和集合的工具类,提供了各种数组操作方法,如数组转换为列表、列表转换为数组、数组排序等。
例子:
```
String[] array = {"apple", "banana", "orange"};
List<String> list = ArrayUtils.toList(array); // 将数组转换为列表
String[] sortedArray = ArrayUtils.sort(array); // 对数组进行排序
```
4. IOUtils:用于处理输入输出流的工具类,提供了各种IO操作方法,如文件读写、流复制、流关闭等。
例子:
```
InputStream input = new FileInputStream("path/to/file.txt");
OutputStream output = new FileOutputStream("path/to/output.txt");
IOUtils.copy(input, output); // 复制输入流到输出流
IOUtils.closeQuietly(input); // 关闭输入流,忽略异常
```
5. MathUtils:用于处理数学运算的工具类,提供了各种数学计算方法,如加法、减法、乘法、取余等。
例子:
```
int sum = MathUtils.add(2, 3); // 加法运算
int product = MathUtils.multiply(2, 3); // 乘法运算
```
以上是常用且重要的5个工具类,它们提供了丰富的方法来简化开发过程,提高工作效率。