Java从一个输入流每次读取一行:BufferedReader.readLine()

假设该输入流从一个文件中获取,然后每次读取一行输出,直到读取完毕。用Java IO中的BufferedReader的readLine(),“顾名思义,读取一行”实现:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;

public class MainClass {
	public static void main(String[] args) {
		try {
			InputStream is = new FileInputStream("file.txt");
			BufferedReader reader = new BufferedReader(
					new InputStreamReader(is));
			String str = null;
			while (true) {
				str = reader.readLine();
				if(str!=null)
					System.out.println(str);
				else
					break;
			}

			is.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

file.txt文件内容:

1
2

3
4
5

代码运行输出:

1
2

3
4
5



时间: 2024-10-19 17:27:28

Java从一个输入流每次读取一行:BufferedReader.readLine()的相关文章

打开一个文本文件,每次读取一行内容,将每一行作为String读入,并将Sring对象置入LinkedList中,按相反顺序打印出LinkList所有行.

import java.io.*; import java.util.LinkedList; import static util.Print.print; public class LoadTest { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new FileReader("src/LoadTest.java")); Strin

SQL: 从一个表随机读取一行或几行记录的问题

比如ms sql 2000,随机读取了一行记录: SELECT TOP 1 * FROM [tablename] ORDER BY NEWID() 遇到的问题是,如果这个表记录不多,比如几十或几百.几千行记录,基本上不用1秒时间就出来了. 但我今天需要从一个几十万行记录的表中随机读取一条记录,读取一次需要3 - 5秒. 这效率有点接受不了. 到网上也搜索了一下,有没有更好的办法,没找到好的办法. 关于这个问题的讨论,CSDN: http://topic.csdn.net/u/20100517/1

jmeter-解决_CSVRead每次读取一行的问题

_CSVRead函数出现的原因:读取第一行之后,没有切换到下一行,导致一直读取第一行的参数解决的方法:在最后一列再加上一个next 循环两次,查看结果: 原文地址:https://blog.51cto.com/13729775/2415816

C++每次读取一行字符串输入(学习笔记) (转)

1. 面向行的输入:getline()getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾. cin.getline(Arr, 20) // Arr为用来输入行的数组的名称:                      //20包括19个字符和1个空字符 2. 面向行的输入:get()与getline()的工作方式类似,接受参数相同,但get()并不再读取并丢弃换行符,而是将其留在输入队列中.可如下使用: cin.get(Arr1, ArSize); // 读第一行cin.g

Python - 文件读取read()、readline()、readlines()区别

前言 读取文件的三个方法:read().readline().readlines().均可接受一个方法参数用以限制每次读取的数据量,但通常不使用 read() 优点:读取整个文件,将文件内容放到一个字符串变量中. 劣势:如果文件非常大,尤其是大于内存时,无法使用read()方法. 总结:不适用于读取大文件 简单代码 f = open('test/gbk.txt', 'r+', encoding='utf-8') print(f.read()) 测试结果 123 456 789 @#$% read

Java读取文件-BufferedReader/FileReader/InputStreamReader/FileInputStream的关系和区别

一.Java读取和存储文件数据流 Java读取文件,实际是将文件中的字节流转换成字符流输出到屏幕的过程 这里面涉及到两个类:InputStreamReader和OutputStreamWriter InputStreamReader:将字节流转换成字符流 OutputStreamWriter:将字符流转换成字节流 InputStreamReader继承Reader类 OutputStreamWriter继承Writer类 二.BufferedReader/FileReader/InputStre

python读取一个文件的每一行判断是否为素数,并把结果写到另一个文件中

刚刚学习python的菜鸟,这道题包括:文件的读写,python的参数调用,异常的使用,函数的使用 创建一个文本文件inti_prime.txt 执行命令:python Prime.py init_prime.txt result_prime.txt 会生成一个result_prime.txt文件 1 #-*- coding:UTF-8 -*- 2 #读取一个文件的每一行,每一行为一个数字 3 #判断数字是不是素数 4 #并打印结果到另外一个文件 5 #输入文件名和输出文件名用参数的形式 6 i

如何用Java编写一个简单的服务器和客户机

今天我要向大家介绍的是自己编写的一个比较简单的服务器和客户机程序,注意一下哦,比较简单.好了,闲话休提,砸门直入主题. 小编先从客户机和服务器的模型开始讲解.简单来说,我们实现的这种模型呢,我们每一个用户称为一个客户机,用户之间的通信之间需要一个中转,所有客户机的通信都依托于这个中转,很明显,这个中转,就是砸门的服务器了.整个模型比较简单明了,那么,接下来我们就直接进入实现阶段. 我们从实现服务器开始.Java提供了这样的一个类,ServerSocket.我们通过实例化它的方式来创建一个服务器.

JAVA之NIO按行读取大文件

做项目过程中遇到要解析100多M的TXT文件,并入库.用之前的FileInputStream.BufferedReader显然不行了,虽然readLine这方法可以直接按行读取,但是去读一个140M左右,68W条数据的文件时,不但耗时长而且会内存溢出,即你等不到读完68W条数据时就内存溢出了.所以得用NIO下面的相关对象及方法. 用到 字节缓冲区(Java.nio.ByteBuffer);用于读取.写入.映射和操作文件的通道( java.nio.channels.FileChannel);设置文