• 【深入Java基础】Java IO 使用


    一个常用的读取和写入txt的工具类

    package util;
    
    import java.io.*;
    
    /**
     * @author
     * wxg
     */
    public class TxtUtil {
        /**
         * 读取txt文件
         * @param path
         * 文件路径
         * @return
         */
        public StringBuilder readTxt(String path){
            return readTxt2(path,"gbk");
        }
    
        /**
         * 读取txt文件
         * @param path
         * 文件路径
         * @param encoding
         * 文件编码
         * @return
         */
        public StringBuilder readTxt(String path,String encoding){
            return readTxt2(path,encoding);
        }
        private StringBuilder readTxt1(String path){
            //判断文件是否存在
            File file = new File(path);
            if (!file.exists()) {
                return null;
            }
            try {
                Reader reader = new FileReader(path);//Reader : 字符流
                BufferedReader br = new BufferedReader(reader);//BufferedReader : 缓冲输入流,效率高
                StringBuilder sb = new StringBuilder();//StringBuilder : 效率比String高,非线程安全,StringBuffer是线程安全的。
                //存在中文乱码问题
                String str;
                while ((str = br.readLine())!=null){
                    sb.append(str).append("
    ");
                }
                reader.close();
                br.close();
                return sb;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
        private StringBuilder readTxt2(String path,String encoding){
            //判断文件是否存在
            File file = new File(path);
            if (!file.exists()) {
                return null;
            }
            try {
                InputStream is = new FileInputStream(path);//文件字节输入流
                InputStreamReader isr = new InputStreamReader(is,encoding);//InputStreamReader : 字符输入流,指定编码
                BufferedReader br = new BufferedReader(isr);//缓冲字符流
                StringBuilder sb = new StringBuilder();
                String str;
                while ((str = br.readLine())!=null){
                    sb.append(str).append("
    ");
                }
                br.close();
                isr.close();
                is.close();
                return sb;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
        public void writeTxt(String text,String path){
            writeTxt(text,path,false,"gbk");
        }
        public void writeTxt(String text,String path,boolean append){
            writeTxt(text,path,append,"gbk");
        }
        public void writeTxt(String text,String path,boolean append, String encoding) {
            //判断文件是否存在
            File file = new File(path);
            if (!file.exists()) {
                try {
                    file.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            try {
                //以指定编码的方式写文件,并选择是否追加
                OutputStream os = new FileOutputStream(path, append);
                OutputStreamWriter osw = new OutputStreamWriter(os, encoding);
                BufferedWriter bw = new BufferedWriter(osw);
                bw.write(text);
                bw.newLine();
                bw.close();
                osw.close();
                os.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    IE10无法打开,需要管理员权限才能打开
    Windows Server 2012 离线安装.NET2.03.5的方法
    Windows Server 2013 安装zune 4.8中文版
    微软发布Visual Studio 2012 Update 2
    禁止视频网站使用Flash P2P上传
    Windows Server 2012 + Firefox + Flash = Crash 崩溃的解决方法
    我的网站,求友情链接
    [zz]ObjectiveC 内存管理精髓
    限时免费抢!正版卡巴斯基安全部队2011激活码1年
    微软Windows 7 SP1 RC 官方已经提供下载
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286717.html
Copyright © 2020-2023  润新知