最近看到文件操作,偶然看到在读取的过程中略有不同,遂在这里简单的来解析下两种方法的不同之处:
其一:

这是在网上普遍看到的方法,来说下while中的条件,lineTxt为读取到的内容的承载对象字符串,bufferedReader.readLine()为整行读取内容,系统规定,当读取到流末尾后返回null,退出while循环。这里关闭文件是在读取结束后就执行的,博主认为不太妥当。

//效率高public void readTxtFile(String filePath) {try {File file = new File(filePath);if (file.isFile() && file.exists()) {InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8");BufferedReader br = new BufferedReader(isr);String lineTxt = null;while ((lineTxt = br.readLine()) != null) {System.out.println(lineTxt);}br.close();} else {System.out.println("文件不存在!");}} catch (Exception e) {System.out.println("文件读取错误!");}}

其二:
此处while 循环中用字节数判断是否读取结束,fis.read(bytes)表示读取的字节数,文档中表明,当读取不到时返回-1,n为读取到的字节数(也可用字符来代替),还有就是关于try/catch的使用,最后的finally,关闭文件放在这里更合适点。

//效率低File fl = new File("image/1.txt");      System.out.println(fl.getAbsolutePath());// 因为file没有读写的能力,所以需要用InputStreamFileInputStream fis = null;try {fis = new FileInputStream(fl);// 定义一个字节数组,相当于缓存byte[] bytes = new byte[1024];int n = 0;// 得到实际读取到的字节数// 循环读取while ((n = fis.read(bytes)) != -1) {// 把字节转成stringString s = new String(bytes, 0, n);System.out.println(s);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {// 关闭文件,必须放这里try {fis.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}

以上两种写法都可以拿到数据,博主对其中的一些认知有些不同,发出来大家看看,比较推荐第二种写法,原因上面已经给出,还请大家吧甄别。

Java-读取本地txt文件的问题相关推荐

  1. Android 读取本地txt文件中的内容

    Android 读取本地txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputSt ...

  2. asp.net core读取本地txt文件

    //接口 using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.L ...

  3. java读取大txt文件_JAVA读取很大的TXT文件(上百G)

    当文件过于大的时候我们如果还用传统的方式读取很容易造成内存满我们应该拆开读取: 用NIO方式把大文件分成固定大小的小文件(小于2G,自己综合分析设置多大,每个文件太大容易浪费空间,太小浪费时间),然后 ...

  4. java读取大txt文件_Java读取具有7000万行文本的大文本文件

    小编典典 1)我确定速度没有差异,两者都在内部使用FileInputStream和缓冲 2)您可以进行测量并亲自查看 3)虽然没有性能优势,但我喜欢1.7方法 try (BufferedReader ...

  5. java读取大txt文件_使用java读取txt里边的文件内容并获取大小(M).txt

    package com; import java.io.File; import java.io.*; import java.io.FileInputStream; import java.io.F ...

  6. sql 读取本地txt文件批量插入数据库

    --导入 INSERT INTO [netmonsdb].[dbo].[keywordlist]([keyword]) SELECT * FROM OPENROWSET(BULK 'D:/xmsys/ ...

  7. nodejs读取本地txt文件并输出到浏览器

    1 var fs = require('fs'); 2 var chrome=""; 3 //同步执行 4 function tongbu(){ 5 var data =fs.re ...

  8. Android 创建文件,删除文件,加载本地txt文件,string转txt文件,创建文件夹,读取文件夹,open failed: ENOENT

    1.创建文件 String fileName = "my.txt"; File fs = new File(Environment.getExternalStorageDirect ...

  9. jquery ajax json文件,jQuery ajax读取本地json文件

    jQuery ajax读取本地json文件 json文件 { "first":[ {"name":"张三","sex": ...

  10. java读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

最新文章

  1. 为什么要在JavaScript中使用静态类型? (使用Flow进行静态打字的4部分入门)
  2. SQL Server 中数据查询注意事项
  3. 1.为什么要学习MATLAB
  4. Octave中无法使用rgb2gray()函数
  5. 若依微服务版前端怎样在接口返回500时去掉一直弹窗提示服务未找到
  6. 【转载】数字签名是什么?
  7. CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
  8. 深信服C/C++技术一面二面20180924
  9. 没得玩了!腾讯这款游戏宣布将于12月15日停服
  10. linux调试工具kdbg,Linux下图形化调试工具: kdbg, Affinic
  11. Sea Battle<海战>(思路题)
  12. JSON 格式化成视图模式
  13. 面经——华为联发科小米兆易创新(2020年秋招嵌入式软件)
  14. java deflate解压_Java解压缩用zlib deflate压缩的字符串
  15. wnmp环境 php7,WNMP 开发环境搭建
  16. 攻防世界 WEB mfw
  17. ossim监控mysql_基于OSSIM平台的漏洞扫描详解
  18. iOS 重力感应之箭头指向重力方向
  19. 医疗管理系统-体检预约
  20. 原生js实现的金山打字小游戏

热门文章

  1. Haxe的结构体与匿名结构体
  2. 企业微信自建应用授权登录demo
  3. 广州保利世贸博览馆 | 2021中国移动全球合作伙伴大会惊艳亮相
  4. Training and operation of an integrated neuromorphic network basedon metal-oxidememristors RRAM+神经网
  5. Java多线程 - 线程安全问题
  6. word碰上个多级列表的编号不显示的bug或者变成小黑快
  7. 计算机函数课,用计算机画函数图像 优质课教案设计
  8. 姜奇平:电信的傲慢与偏见
  9. 分布式呼叫中心解决方案
  10. 应用系统常用性能指标