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 ...
随机推荐
- WEB安全:Tomcat 只可通过域名访问,禁止通过 IP 访问
服务器为什么要禁止通过IP直接访问? 1.若公布于外网的服务器IP地址未备案,就有可能被工信部查封.这样备案的域名也会无法访问. 2.如果AppScan通过ip访问扫描,会有“发现内部ip泄露模式”的 ...
- Maven教程2(Eclipse配置及maven项目)
Maven教程1(介绍安装和配置) Eclipse中配置maven 1.Eclipse中默认集成的有Maven 可以使用默认的,本地仓库在当前用户下的.m2文件夹下. 2.配置我们自己安装的maven ...
- 操作Linux系统环境变量的几种方法
一.使用environ指针输出环境变量 代码如下: #include<stdio.h> #include<string.h> #define MAX_INPUT 20 /* 引 ...
- .net core 基于IIS发布
原文链接: https://www.cnblogs.com/gx018/p/7874060.html
- SQLServer 2008R2 清理日志文件
设置数据库为简单模式 2.收缩日志文件 3.恢复数据库为完整模式
- 【Java基础】10、Java中throw和throws的区别
系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...
- 设计模式之状态模式(State )
状态模式是根据其状态变化来改变对象的行为,允许对象根据内部状态来实现不同的行为.内容类可以具有大量的内部状态,每当调用实现时,就委托给状态类进行处理. 作用 当一个对象的内在状态改变时允许改变其行为, ...
- IOC容器的创建
一.IOC容器创建方式 Ioc容器的创建时通过ApplicationContext接口的相关实现类进行的. 如上图所示:有三种创建IOC容器的方式. ClassPathXmlApplicationCo ...
- ArrayList 原码解析
基于java1.71.ArrayList 是基于数组实现的 通过源码 我们可以知道 ArrayList 提供了三种构造器用于实例化 /** * Constructs an empty list wit ...
- callback.js
function writeCode(callback){ console.log("i am waiting....") callback(); console.log(&quo ...