码迷,mamicode.com
首页 > 编程语言 > 详细

java读取txt文件行的两种方式对比

时间:2020-07-01 09:15:20      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:对比   fileinput   inpu   cep   rac   nes   lines   catch   bsp   

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);
        }
    }

}

 

java读取txt文件行的两种方式对比

标签:对比   fileinput   inpu   cep   rac   nes   lines   catch   bsp   

原文地址:https://www.cnblogs.com/oktokeep/p/13217314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!