java 实用Util汇总

1.Util介绍

Util是工具的意思,一般来说,常常用来描述和业务逻辑没有关系的数据处理。

Util一般要和私有方法对比:私有方法一般来说是只是在特地场景下使用的,私有方法越多,代码结构越乱。常见的重构策略就是首先从一个很多行数的代码里抽象出若干个私有方法,然后再抽出公用的Util。

如果有可能,尽可能的少用私有方法,而是把他换成一个公用的Util,代表他和业务逻辑是不相关的。通常命名也是ArticleUtil,CommentUtil之类的。

Util一般来说,就是一个明确的输入和一个明确的输出结果。单元测试中,多数也是来测试Util。

积累好自己的Util是一件很重要的事儿

2.各种实用Util汇总

(1)String转ArrayList

StringToArrayListUtil.java

import java.util.ArrayList;

public class StringToArrayListUtil {
    public static ArrayList<String> stringToArrayList(String str) {
        //1.String.substring() 从指定位置开始到指定位置结束截取字符串
        String strTemp=str.substring(1,str.length()-1);
        //2.String.split() 字符串拆分
        String[] strResult=strTemp.split(", ");
        ArrayList<String> resultList=new ArrayList<>();
        for (int i = 0; i <strResult.length ; i++) {
            resultList.add(strResult[i]);
        }
        return resultList;
    }
}

 (2)利用InputStream和FileOutputStream实现文件读写(文件的拷贝功能)

import java.io.*;

public class FileUtils {
    public static void main(String[] args) {
        inputStreamReader();
    }

    public static void inputStreamReader() {
        //1.创建输入流对象,将流理解为一只笔,输入流为读取数据,输出流为写数据
        InputStream inputStream = null;
        FileOutputStream fos=null;

        try {
            //2.实例化输入流对象
            inputStream = new FileInputStream("E:\\javaProject\\javaSEProject\\UtilSummary\\res\\novel.txt");
            //3.将读取的内容写入指定的文件夹的文件中

            //4.定义输出流的目标文件
            File file=new File("E:\\javaProject\\javaSEProject\\UtilSummary\\res\\novel_copy1.txt");
            //5.实例化输出流对象
            fos = new FileOutputStream(file);
            //6.指定每次读取文件的大小
            byte[] bs = new byte[1024];
            int temp=-1;
            while ((temp=inputStream.read(bs))!=-1){
                //7,向指定目标文件写数据
                fos.write(bs,0,temp);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                //8.inputStream、fos不为空,则关闭文件流
                if (inputStream != null&&fos!=null) {
                    inputStream.close();
                    fos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

 (3)读取json文件,返回json串

import com.alibaba.fastjson.JSONObject;

import java.io.*;
import java.util.HashMap;
import java.util.Map;

public class JsonUtil {
    /**
     * 读取json文件,返回json串
     * @param fileName
     * @return
     */
    public static String readJsonFile(String fileName) {
        String jsonStr = "";
        try {
            File jsonFile = new File(fileName);
            FileReader fileReader = new FileReader(jsonFile);

            Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            fileReader.close();
            reader.close();
            jsonStr = sb.toString();
            return jsonStr;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void main(String[] args) {
        //注意:所要读取的文件路径为res/categories.json
        String jsonStr = JsonUtil.readJsonFile("C:\\jsonfile\\categories.json");
        JSONObject jsonObject = new JSONObject();
        Map<String, String> params = new HashMap<>();
        params.put("Result", jsonStr);
        jsonObject.put("params", params);
        System.out.println(jsonObject.toString());
    }

}

 

 

 



转载于:https://www.cnblogs.com/luckyplj/p/10715171.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值