• 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);
            }
        }
    
    }
  • 相关阅读:
    MSN无法登录(错误代码80072745)的解决方法
    C#3.0新体验(二) 扩展方法
    My DreamTech
    让IE崩溃的bug, IE8也一样崩溃
    多线程的相关概念
    10条PHP经验总结
    PHP框架 CI与TP之MVC比较
    多线程设计要点
    Linux yum命令的使用技巧
    BigPipe 的工作原理
  • 原文地址:https://www.cnblogs.com/oktokeep/p/13217314.html
Copyright © 2020-2023  润新知