IO流_演示键盘录入
读取一个键盘录入的数据,打印到控制台上
键盘本身就是一个标准的输入设备,对于java而言,对于这种输入设备都有相应的对象在System类中
import java.io.IOException;
import java.io.InputStream; public class ReadKeyDemo {
public static void main(String[] args) throws IOException {
readKey();
}
public static void readKey() throws IOException {
InputStream in = System.in;
int ch =0;
while((ch = in.read())!=-1){//read()这个方法是阻塞式的方法,当没数据可读的时候等待
System.out.print((char)ch);
//in.close();//默认的输入和输出设备不要关闭资源,会发生异常,
}
}
}
获取用户键盘录入的数据,并将数据变成大写显示在控制台上,如果用户输入的是over,结束键盘录入
思路:
1.因为键盘录入只能读取一个字节,要判断是否是voer,需要将读取到的字节转换成字符串,
2.那就需要一个容器,StringBuilder
3.在用户回车之前将录入的数据变成字符串,再判断是否是voer即可
import java.io.IOException;
import java.io.InputStream; public class ReadKeyTest {
public static void main(String[] args) throws IOException {
readKey();
}
public static void readKey() throws IOException {
//1.创建容器
StringBuilder sb = new StringBuilder();
//2.获取键盘读取流
InputStream in = System.in;
//3.定义变量记住读取的字节,并循环获取
int ch = 0;
while((ch = in.read())!=-1){
//在存储之情需要判断是否是换行标记,因为换行标记不存
if(ch=='\r')
continue;
if(ch=='\n'){
String temp = sb.toString();
if("over".endsWith(temp))
break;
System.out.println(temp.toUpperCase());
sb.delete(0, sb.length());//打印完之后要清空掉容器里的字符
}
else
//将读取到的数据存储到StringBuilder中
sb.append((char)ch);
//System.out.println(ch);
}
}
}
IO流_演示键盘录入的更多相关文章
- Java基础知识强化之IO流笔记51:IO流练习之 键盘录入学生信息按照总分排序写入文本文件中的案例
1. 键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分排序写入文本文件中 分析: A:创建学生类 B:创建集合对象 TreeSet<Student> ...
- C++ IO流_数据的旅行之路
1. 前言 程序中的数据总是在流动着,既然是流动就会有方向.数据从程序的外部流到程序内部,称为输入:数据从程序内部流到外部称为输出. C++提供有相应的API实现程序和外部数据之间的交互,统称这类AP ...
- java - >IO流_缓冲流(高效流)
缓冲流(高效流) 在我们学习字节流与字符流的时候,大家都进行过读取文件中数据的操作,读取数据量大的文件时,读取的速度会很慢,很影响我们程序的效率,那么,我想提高速度,怎么办? Java中提高了一套缓冲 ...
- java ->IO流_打印流
打印流的概述 打印流添加输出数据的功能,使它们能够方便地打印各种数据值表示形式. 打印流根据流的分类: 永远不会抛出IO异常 l 字节打印流 PrintStream l 字符打印流 Print ...
- java ->IO流_序列化流与反序列化流
序列化流与反序列化流 用于从流中读取对象的操作流 ObjectInputStream 称为 反序列化流 用于向流中写入对象的操作流 ObjectOutputStream 称为 序列化流(对象 ...
- java ->IO流_字节流
字节流 在前面的学习过程中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据.现在我们就要开始给文件中写数据,或者读取文件中的数据. 字节输出流OutputStream OutputStre ...
- Java_初入IO流_字符流_Write-Read_小笔记
package IO; import java.io.FileWriter; import java.io.IOException; class File_Writer { public static ...
- IO流_文件切割与合并(带配置信息)
在切割文件的时候应该生成一个记录文件信息的文件,以便在以后合并文件的时候知道这个文件原来的文件名和记录文件切割完后生成了多少个切割文件 import java.io.File; import java ...
- IO流_文件切割与合并
切割可以分两种方式:按文件个数切,按文件大小来切(建议用这种方式,因为按个数的话,有可能文件非常大) import java.io.File; import java.io.FileInputStre ...
随机推荐
- 了解Job和JobDeatil ,JobDataMap (三)
一:定义 Job:实现任务逻辑的接口. JobDeatil:JobDeatil为Job提供了许多设置属性,以及JobDataMap成员变量属性,他用来储存特定的Job实例状态信息,调度器需要使用Job ...
- jobss目录结构
一. JBoss的目录结构 bin:包含各种脚本文件以及相关文件,比如run.bat和shutdown.bat批处理文件. client:存储配置信息和可能被Java客户端应 ...
- oracle中if/else的三种实现方式
1.标准sql规范 .单个IF IF v=... THEN END IF; .IF ... ELSE IF v=... THEN ELSE t....; END IF; .多个IF IF v=... ...
- openssl genrsa
openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html genrsa用于生成RSA私钥,不会生成公钥,因为公钥提取自私钥,如果需要查 ...
- [转]微擎人人商城m()函数调用model方法
本文转自:http://yangjunwei.com/a/3177.html 微擎人人商城p()函数可内部调用任意插件的函数 http://yangjunwei.com/a/3216.html
- Bootstrap学习记录-3.Badge、Breadcrumb、Buttons、 Button Group、Card、Carousel
1. Badge Badge作为数值标记组件,它能作为链接或按钮的一部分来提供计数作用,而且它通过使用相对字体大小来适应父级元素的大小.它的最基本的修饰符为.badge .badge-*. <b ...
- c#cookie读取写入操作
public static void SetCookie(string cname, string value, int effective) { HttpCookie cookie = new Ht ...
- 数据库和ado连接语句的使用总结
基本的sql语句 创建数据库:CREATE DATABASE database-name 删除数据库:drop database dbname 创建表:create table tabname(字段属 ...
- Spark调优_性能调优(一)
总结一下spark的调优方案--性能调优: 一.调节并行度 1.性能上的调优主要注重一下几点: Excutor的数量 每个Excutor所分配的CPU的数量 每个Excutor所能分配的内存量 Dri ...
- STOMP
STOMP: 说明:STOMP is a simple text-orientated messaging protocol. 面向文本消息协议 spring 之stomp https://www.c ...