缓冲流-怎么解决bufferedReader无限读取数据的问题?

问题描述

怎么解决bufferedReader无限读取数据的问题?

import java.io.*;
//从键盘读取字符时只有输入exit才能终止,怎么解决这个问题呢?
public class TestInputStream {
public static void main(String args[]) throws Exception{、

     System.out.printf("请输入字符:");
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     String str=br.readLine();

    while((str!=null)&&!str.equals("exit")){
           System.out.println("输入的字符:"+str);
            str=br.readLine();
  }

  br.close();

}
}

解决方案

把循环改为如下就行。
while(true){
str=br.readLine();
if(str.equals("exit")){
break;
}else{
System.out.println("输入的字符:"+str);
}

}

时间: 2024-07-31 11:34:53

缓冲流-怎么解决bufferedReader无限读取数据的问题?的相关文章

关于读取数据乱码

问题描述 一个程序读取一个文件,每次单击一下按钮读取下一行的数据把这一行显示在TextArea()中.现在问题是,每次读取数据后,会出现乱码,但是不是全部乱码,而是其中有几个字出现乱码.请问如何解决?其中读取数据的代码如下:publicvoidactionPerformed(ActionEventarg0){Filef=newFile("C:\DocumentsandSettings\Administrator\MyDocuments\zh问答.TXT");StringBuffers=

Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter

Java IO流学习总结四:缓冲流-BufferedReader.BufferedWriter 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/54911237 本文出自[赵彦军的博客] 在上一篇文章中Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream介绍了缓冲流中的字节流,而这一篇着重介绍缓冲流中字符流BufferedReader.BufferedWriter.

Apache Spark技术实战(四)spark-submit常见问题及其解决 &CassandraRDD高并发数据读取实现剖析

<一>spark-submit常见问题及其解决 概要 编写了独立运行的Spark Application之后,需要将其提交到Spark Cluster中运行,一般会采用spark-submit来进行应用的提交,在使用spark-submit的过程中,有哪些事情需要注意的呢? 本文试就此做一个小小的总结. spark-defaults.conf Spark-defaults.conf的作用范围要搞清楚,编辑driver所在机器上的spark-defaults.conf,该文件会影响 到drive

纠错-sql anywhere 数据库校验老错误,但读取数据好像还没有发现问题,卸载也出错,怎么解决?

问题描述 sql anywhere 数据库校验老错误,但读取数据好像还没有发现问题,卸载也出错,怎么解决? sql anywhere 数据库校验老错误,但读取数据好像还没有发现问题,卸载也出错怎么解决?

java笔记八:IO流之字符流与字符缓冲流

java中字符流主要都是继承于Reader和Writer两个抽象类.用于对字符文本的读写操作.   一.转换类流 1 package com.iotest; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStreamRe

Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/54894451 本文出自[赵彦军的博客] InputStream |__FilterInputStream |__BufferedInputStream 首先抛出一个问题,有了InputStream为什么还要有BufferedInputStream? Buffere

从标准输入中读取数据

以Unix首先倡导的"标准输入"."标准输出"以及"标准错误输出"概念为基础,Java提供了相应的System.in,System.out以及System.err.贯这一整本书,大家都会接触到如何用System.out进行标准输出,它已预封装成一个PrintStream对象.System.err同样是一个PrintStream,但System.in是一个原始的InputStream,未进行任何封装处理.这意味着尽管能直接使用System.out和

从Java的jar文件中读取数据的方法

  这篇文章主要介绍了从Java的jar文件中读取数据的方法,实例分析了java档案文件的相关操作技巧,需要的朋友可以参考下 本文实例讲述了从Java的jar文件中读取数据的方法.分享给大家供大家参考.具体如下: Java 档案 (Java Archive, JAR) 文件是基于 Java 技术的打包方案.它们允许开发人员把所有相关的内容 (.class.图片.声音和支持文件等) 打包到一个单一的文件中.JAR 文件格式支持压缩.身份验证和版本,以及许多其它特性. 从 JAR 文件中得到它所包含

Java如何从控制台中读取数据

  从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增加一个版本号,就有一种新增的方法,这也增加了选择的种类,可以依据不同的要求来进行选择.下面来看一下,各个版本中如何从控制台中读取数据以及各自的优缺点. 1 JDK 1.4 及以下版本读取的方法 JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的输入流,再桥