zoukankan      html  css  js  c++  java
  • java读取txt文件行的两种方式对比

    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 读取txt文件的行
     *
     */
    public class FileUtil {
        /**
         * java.nio.file.Files方式
         * @param filePath
         * @return
         */
        public static List<String> parseFileContext(String filePath) {
            System.out.println("filePath="+filePath);
            List<String> dataArray = null;
            try {
                dataArray = Files.readAllLines(Paths.get(filePath));
            } catch (IOException e) {
                e.printStackTrace();
            }
            return dataArray;
        }
        
        /**
         * 流方式
         * @param filePath
         * @return
         */
        public static List<String> oldParseFileContext(String filePath) {
            System.out.println("filePath="+filePath);
            
            List<String> dataArray = new ArrayList<String>();
            
            FileInputStream fis = null;
            InputStreamReader isr = null;
            BufferedReader br = null; // 用于包装InputStreamReader,提高处理性能。因为BufferedReader有缓冲的,而InputStreamReader没有。
            try {
                String str = "";
                fis = new FileInputStream(filePath);// FileInputStream
        
                isr = new InputStreamReader(fis);
                br = new BufferedReader(isr);
                while ((str = br.readLine()) != null) {
                    dataArray.add(str);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    br.close();
                    isr.close();
                    fis.close();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
            return dataArray;
        }
        
    
        public static void main(String[] args) {
            String path = "E:\test.txt";
    //        List<String> lst = parseFileContext(path);
            List<String> lst = oldParseFileContext(path);
            for (String string : lst) {
                System.out.println("string="+string);
            }
        }
    
    }
  • 相关阅读:
    设置五大类型MySQL参数
    php/mysql方法函数
    生成ASP.NET WEB SERVICE代理类
    c#中使用json
    Enterprise Library DataAccess(数据层)笔记
    动态加载并获取usercontrol生成的html
    可能用得上的jquery 插件
    Enterprise Library Cache(缓存程序块)笔记
    ASP.NET中采用HTML控件File进行多文件上传
    windows server 2003 企业版IIS6上配置asp.net4.0网站
  • 原文地址:https://www.cnblogs.com/oktokeep/p/13217314.html
Copyright © 2011-2022 走看看