1. import java.io.BufferedReader;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.nio.file.Files;
  6. import java.nio.file.Paths;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9.  
  10. /**
  11. * 读取txt文件的行
  12. *
  13. */
  14. public class FileUtil {
  15. /**
  16. * java.nio.file.Files方式
  17. * @param filePath
  18. * @return
  19. */
  20. public static List<String> parseFileContext(String filePath) {
  21. System.out.println("filePath="+filePath);
  22. List<String> dataArray = null;
  23. try {
  24. dataArray = Files.readAllLines(Paths.get(filePath));
  25. } catch (IOException e) {
  26. e.printStackTrace();
  27. }
  28. return dataArray;
  29. }
  30.  
  31. /**
  32. * 流方式
  33. * @param filePath
  34. * @return
  35. */
  36. public static List<String> oldParseFileContext(String filePath) {
  37. System.out.println("filePath="+filePath);
  38.  
  39. List<String> dataArray = new ArrayList<String>();
  40.  
  41. FileInputStream fis = null;
  42. InputStreamReader isr = null;
  43. BufferedReader br = null; // 用于包装InputStreamReader,提高处理性能。因为BufferedReader有缓冲的,而InputStreamReader没有。
  44. try {
  45. String str = "";
  46. fis = new FileInputStream(filePath);// FileInputStream
  47.  
  48. isr = new InputStreamReader(fis);
  49. br = new BufferedReader(isr);
  50. while ((str = br.readLine()) != null) {
  51. dataArray.add(str);
  52. }
  53. } catch (Exception e) {
  54. e.printStackTrace();
  55. } finally {
  56. try {
  57. br.close();
  58. isr.close();
  59. fis.close();
  60. } catch (Exception e2) {
  61. e2.printStackTrace();
  62. }
  63. }
  64. return dataArray;
  65. }
  66.  
  67. public static void main(String[] args) {
  68. String path = "E:\\test.txt";
  69. // List<String> lst = parseFileContext(path);
  70. List<String> lst = oldParseFileContext(path);
  71. for (String string : lst) {
  72. System.out.println("string="+string);
  73. }
  74. }
  75.  
  76. }

java读取txt文件行的两种方式对比的更多相关文章

  1. ASP.NET MVC之读取服务器文件资源的两种方式

    初次认识asp.net mvc时,以为所有文件都需要走一遍路由,然后才能在客户端显示, 所以我首先介绍这一种方式 比如说:我们在服务器上有图片: ~/resource/image/5.jpg 我们就需 ...

  2. Java读取resource文件/路径的几种方式

    方式一: String fileName = this.getClass().getClassLoader().getResource("文件名").getPath();//获取文 ...

  3. Java读取txt文件信息并操作。

    一.java读取txt文件内容 import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.Fi ...

  4. java 读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  5. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  6. java读取txt文件的2中方法---并将内容(每一行以固定的字符分割切成2段)存到map中去

    #java读取txt文件的第一种方法 /** * 方法:readTxt * 功能:读取txt文件并把txt文件的内容---每一行作为一个字符串加入到List中去 * 参数:txt文件的地址 * 返回: ...

  7. Java读取txt文件、excel文件的方法

    Java读取txt文件.excel文件的方法 1.读取txt文件 public static String getFileContent(String filePath,String charset) ...

  8. Java读取txt文件

    package com.loongtao.general.crawler.slave.utils; import java.io.BufferedReader; import java.io.File ...

  9. java读取txt文件内容

    package read; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public ...

  10. IOS文件操作的两种方式:NSFileManager操作和流操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

随机推荐

  1. Alibaba FFI -- 跨语言编程的探索

    ​简介: 跨语言编程时现代程序语言中非常重要的一个方向,也被广泛应用于复杂的设计与实现中. 跨语言编程是现代程序语言中非常重要的一个方向,也被广泛应用于复杂系统的设计与实现中.本文是 GIAC 202 ...

  2. [DOT] Polkadot-js 的官方资源

    官网:https://polkadot.js.org/ 浏览器扩展(即钱包, 等同以太坊的MetaMask):https://polkadot.js.org/extension/ 钱包的作用方便你管理 ...

  3. dotnet 理解 IConfigurationProvider 的 GetChildKeys 方法用途

    我最近遇到了一个有趣的 Bug 让我调试了半天,这个 Bug 的现象是我的好多个模块都因为读取不到配置信息而炸掉,开始我没有定位到具体的问题,以为是我的配置服务器挂掉了.经过了半天的调试,才找到了是我 ...

  4. 如何将data中字符传的换行正常显示

    后端传来的字符串有换行符: 直接输出的效果: 解决方法demo: <p class="" v-html="text"></p> js: ...

  5. 记录一个vue路由拦截效果的小技巧

    使用一句三元表达式, <router-link class="flex-left left" tag="div" :to="loginState ...

  6. vue--v-if和v-show的区别(个人项目中的理解应用)

    在面试的时候,一道vue基础到不能再基础的面试题叫做v-if与v-show的区别,当然答案网上一搜一大堆,基本两句话就能说明: 1.相同点:都是根据指令是否渲染该组件 2.不同点:v-if仅重新渲染当 ...

  7. ffmpeg7.0常用命令笔记 windows下

    1.多媒体格式转换 ffmpeg -i input.mov -acodec copy -vcodec copy out.mp4 2.从多媒体文件中抽取音频 ffmpeg -i input.mov -v ...

  8. 四、Doris物化视图

    使用场景:  在实际的业务场景中,通常存在两种场景并存的分析需求:对固定维度的聚合分析 和 对原始明细数据任意维度的分析. 例如,在销售场景中,每条订单数据包含这几个维度信息(item_id, sol ...

  9. 11、操作系统安全加固-Windows 加固

    1.账号管理与认证授权 1.1.按用户类型分配账号 目的:根据系统要求,设定不同账户和组,管理员.数据库sa.审计用户.来宾用户等 实施方法: 打开本地用户和计算机管理器 或 打开运行,输入 lusr ...

  10. NASM中的Preprocessor

    NASM中的Preprocessor都以%开头. 单行macro %define %define与C语言中的#define类似: %define a(x) 1+b(x) %define b(x) 2* ...