广告
返回顶部
首页 > 资讯 > 精选 >如何使用BufferedReader读取TXT文件中数值并输出最大值
  • 511
分享到

如何使用BufferedReader读取TXT文件中数值并输出最大值

2023-06-22 01:06:16 511人浏览 独家记忆
摘要

本篇内容主要讲解“如何使用BufferedReader读取TXT文件中数值并输出最大值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用BufferedReader读取TXT文件中数值并输出

本篇内容主要讲解“如何使用BufferedReader读取TXT文件中数值并输出最大值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用BufferedReader读取TXT文件中数值并输出最大值”吧!

    BufferedReader读取TXT文件中数值输出最大值

    1.题目

    txt文件中数字的读取,并输出最大值

    如何使用BufferedReader读取TXT文件中数值并输出最大值

    输出最大值92

    如何使用BufferedReader读取TXT文件中数值并输出最大值

    2.BufferedReader 介绍

    • BufferedReader 是缓冲字符输入流。它继承于Reader。

    • BufferedReader 的作用是为其他字符输入流添加一些缓冲功能。

    BufferedReader 函数列表:

    BufferedReader(Reader in)BufferedReader(Reader in, int size) void     close()void     mark(int markLimit)boolean  markSupported()int      read()int      read(char[] buffer, int offset, int length)String   readLine()boolean  ready()void     reset()long     skip(long charCount)

    3.思路

    • 打开文件

    • 使用BufferedReader读取

    • readLine读取每一行,保存到新个 String 变量中

    • 将String中的数字,转换成数组

    • 从数组中比较出最大值

    4.问题

    BufferedReader的readLine()方法是阻塞式的, 如果到达流末尾, 就返回null, 但如果client的Socket末经关闭就销毁, 则会产生io异常.,使用后要记得close

    使用readLine依次读取各行,处理后输出,如果用以下方法,则会出现除第一行外行首字符丢失,原因就在于br.read() != -1 这判断条件上。 因为在执行这个条件的时候其实它已经读取了一个字符了,然而在这里并没有对读取出来的这个字符做处理,所以会出现少一个字符,如果你这里写的是while(br.readLine()!=null)会出现隔一行少一行!

    String str  = null;br=new BufferedReader(new FileReader(fileName));while(br.read()!=-1){  str = buf.readLine()); }

    java.lang.NumberFORMatException: For input string: " "这里的Integer.valueOf(s2[i]);参数里开头和结尾不能含有空格

       for(int i=0;i<s2.length;i++){  a[i]= Integer.valueOf(s2[i]);    }

    5.解决

    直接上代码了。。。。。

    package test; import java.io.*; public class testtwo {public static void main(String[] args) throws IOException {       try {       //1.打开文件       FileReader fr=new FileReader("test.txt");       //2.使用BufferedReader读取       BufferedReader br=new BufferedReader(fr);       //保存数据       String message = "";         String line = null;         while((line = br.readLine()) != null) {       message = message+" "+line;         }       //去掉两端空格       message = message.trim();                   //转化成数组       String s2[]=message.split(" ");       int a[]=new int[message.length()];       for(int i=0;i<s2.length;i++){        a[i]= Integer.valueOf(s2[i]);       }       //比较最大值       int max=a[0];       for(int j=1;j<a.length;j++){       if(max<a[j]){       max=a[j];       }       }       System.out.println("最大值为"+max);       //4.关闭文件       br.close();       fr.close();              } catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}  } }

    6.小结一下

    • 使用BufferedReader中readLine一行一行的读取txt中数字

    • 使用line将要丢失的一行,先保存起来,就不会丢失了

    • String.trim()将数据两端的空格给去掉了

    使用BufferedReader读取文件的好处

    • 没有缓冲区时,每次读取操作都会导致一次文件读取操作(就是告诉操作系统内核我要读这个文件的这个部分,麻烦你帮我把它取过来)。

    • 有缓冲区时,会一次性读取很多数据,然后按要求分次交给上层调用者。

    读取块大小通常是按最适合硬件的大小来读的,因为对于硬件来说,一次读取一块连续数据(比如 1K)和一次读取一个字节需要的时间几乎是一样的(都是一次读操作,只是最终提交的数据量有差异)。带缓冲的 I/O 和不带缓冲的相比效率差异是非常显著的,你可以自行写程序测试

    说到java reader缓存,其实有两层缓存:

    OS缓存,把磁盘数据 读入内存,通过read ahead, io scheduler等减少磁盘读取次数.

    App缓存,做缓存/预读,即BufferredReader的角色.

    BufferredReader的作用:我的理解

    减少System Call次数

    减少磁盘读取次数

    到此,相信大家对“如何使用BufferedReader读取TXT文件中数值并输出最大值”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: 如何使用BufferedReader读取TXT文件中数值并输出最大值

    本文链接: https://www.lsjlt.com/news/301658.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 使用BufferedReader读取TXT文件中数值,并输出最大值
      目录BufferedReader读取TXT文件中数值输出最大值1.题目2.BufferedReader 介绍3.思路4.问题5.解决6.小结一下使用BufferedReader读取文...
      99+
      2022-11-12
    • 如何使用BufferedReader读取TXT文件中数值并输出最大值
      本篇内容主要讲解“如何使用BufferedReader读取TXT文件中数值并输出最大值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用BufferedReader读取TXT文件中数值并输出...
      99+
      2023-06-22
    • 如何使用Python读取大数据中的对象文件?
      在当今的数据时代,大数据已经成为了一种趋势。大数据存储的文件类型也越来越多,其中对象文件是一种常见的文件类型。Python作为一种流行的编程语言,自然也可以用来读取大数据中的对象文件。 本文将介绍如何使用Python读取大数据中的对象文件。...
      99+
      2023-10-26
      对象 文件 大数据
    • JAVA如何通过使用数组遍历和if条件实现选择数据中的最大值
      这篇文章给大家分享的是有关JAVA如何通过使用数组遍历和if条件实现选择数据中的最大值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言:通过使用数组遍历和if条件实现选择数据中的最大值。public ...
      99+
      2023-06-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作