Java初级应学习哪些工具类

目前想学习Java工具类,FileUtil绝对是必学的,如果时间成本有限,最多只能学习5个类~请列举工作中程序中经常用到的且比较重要的5个工具类,此处已不包括FileUtil了。

java.util包下都值得看看

看你要用Java做什么
常用的:正则表达式、HttpClent 可以做爬虫
Math BigInteger 可以科学计算
POI 可以读写 Word Excel 文档
Runtime 执行外部可执行程序,可以实现一些 bot
Data Calendar等可以进行日期计算
等等

如果一定要一个类一个类的学过去的话,那么可以列举出几个类

  1. StringUtils
  2. DateUtils
  3. MathUtils
  4. CollectionUtils
  5. HttpUtils

-=-=-==-
问题是每个类里面,最重要的东西不超过5%
实际上你系统的去把每个类里的函数都学一遍,就跟上来就背英语字典一样
好不容易把字母a背完了,结果一句完整的话也说不出来
你还是应该基于现实的应用,把最常用的15个类里面最常用的3个函数记一记就好了,而不是把最常用的5个类里所有东西都搞懂
这就像你记单词的时候,很多词是衍生出来的,你不用一个一个的去记,也能大概猜出是什么意思
类库里也有很多函数是重载,一开始你并不需要把每一个都搞懂,搞懂一个典型的,后面的即使有区别,到时候仔细看一下参数说明就会用了

img

StringUtils:字符串工具类
DateUtils:日期工具类
MathUtils:数学工具类
CollectionUtils:集合工具类
Arrays : 基础工具类
这几个就够了

  • 这篇文章:Java实现文件和文件夹操作工具类-FileUtil 也许能够解决你的问题,你可以看下
  • 除此之外, 这篇博客: Java实现网络爬虫(音频、视频、商业数据系列)中的 2.3.FileUtils工具类的使用案例 ( 简单好用 ) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 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");
    	}
    }
    
  • 以下回答由chatgpt基于相关博客总结生成:
    常用的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个工具类,它们提供了丰富的方法来简化开发过程,提高工作效率。