Java知识点总结(JavaIO- System类对IO的支持与Scanner类 )
Java知识点总结(JavaIO- System类对IO的支持与Scanner类 )
@(Java知识点总结)[Java, JavaIO]
[toc]
System类
public class Demo09 {public static void test1() {try {System.out.write("hello".getBytes());} catch (IOException e) {e.printStackTrace();};}public static void test2() {try {System.out.write(Integer.parseInt("hello"));} catch (Exception e) {System.err.println(e);};}// 输入的是英文没有问题,输入的是中文则会出现乱码,这是因为数据是一个字节一个字节读取进来的,汉字是2个字节// 解决方法是将全部输入的数据放到缓冲区,然后一次性从内存中读取出来,这样数据只读一次,不会乱码public static void test3() throws IOException {System.out.println("请输入内容:" );InputStream in = System.in;int temp = 0;StringBuffer sb = new StringBuffer();while ((temp = in.read()) != -1) {char c = (char) temp;if (c == '\n') {break;}sb.append(c);}in.close();System.out.println("输入的内容是:" + sb.toString());}// 输出重定向。错误信息不在控制台显示,而是在err.log文件中public static void test4() throws FileNotFoundException {try {System.out.write(Integer.parseInt("hello"));} catch (Exception e) {System. setOut(new PrintStream(new File("E:" + File.separator+ "err.log")));System.out.println(e);};}// 输入重定向public static void test5() throws Exception {System. setIn(new FileInputStream(new File("E:" + File.separator+ "err.log")));InputStream in = System.in;byte[] b = new byte[1024];int len = in.read(b);System.out.println(new String (b,0,len));}public static void main(String[] args) {/** test1(); test2();*//** try { test3(); } catch (IOException e) { e.printStackTrace(); }*//*try {test4();} catch (FileNotFoundException e) {e.printStackTrace();}*/try {test5();} catch (Exception e) {e.printStackTrace();}}
}
Sanner类
JDK 1.5后提供的输入数据类,此类位于java.util 包中,不仅可以完成输入数据的操作,还可以方便地对输入数据进行验证。
public class Demo11 {public static void add() {int i = getInt();float j = getFloat();System.out.printf("%d+%1.2f=%1.2f", i, j, i + j);}//从文件中读取数据public static void getDataFromFile(){File f = new File("E:"+File.separator+"test.txt");StringBuffer sb = new StringBuffer();try {Scanner sc = new Scanner(f);sc.useDelimiter("\n");// (设置读取的分隔符)空格处理while(sc.hasNext()){ //读取下一行sb.append(sc.next()+"\n");}} catch (FileNotFoundException e) {e.printStackTrace();}System.out.println(sb.toString());}// 整数的输入public static Integer getInt() {Scanner sc = new Scanner(System.in);System.out.println("请输入整数:" );if (sc.hasNextInt()) {return sc.nextInt();} else {System.out.println("输入的不是整数,请重新输入:" );return getInt();}}// 小数的输入public static Float getFloat() {Scanner sc = new Scanner(System.in);System.out.println("请输入一个小数:" );if (sc.hasNextFloat()) {return sc.nextFloat();} else {System.out.println("输入的不是小数,请重新输入:" );return getFloat();}}//日期输入public static Date getDate() {Scanner sc = new Scanner(System.in);String str = "";System.out.println("请输入一个日期(yyyy-MM-dd):" );if (sc.hasNext("^\\d{4}-\\d{2}-\\d{2}$")) {str = sc.next();try {return new SimpleDateFormat("yyyy-MM-dd").parse(str);} catch (ParseException e) {e.printStackTrace();return null;}} else {System.out.println("您输入的不是日期,请重新输入!" );return getDate();}}public static void main(String[] args) {/** Scanner sc = new Scanner(System.in); System.out.println("输入数据:");* sc.useDelimiter("\n"); String str = sc.next();* System.out.println("输入的数据为:" + str);*///add();//System.out.println(getDate());getDataFromFile();/*西瓜、 苹果、 香蕉橘子。。。*/}}
Java知识点总结(JavaIO- System类对IO的支持与Scanner类 )相关推荐
- Java学习总结:48(System类对IO的支持)
System类对IO的支持 System类与IO有关的3个对象常量 No. 常量 类型 描述 1 public static final PrintStream err 常量 显示器上错误显示 2 p ...
- JavaSE_第14章 File类与IO流
第14章 File类与IO流 主要内容 File类 字节流 字符流 文件流 缓冲流 转换流 数据流 对象流 打印流 Scanner与System与IO流 教学目标 使用File类对象表示文件或目录 能 ...
- 第14章 File类与IO流
第14章 File类与IO流 主要内容 File类 字节流 字符流 文件流 缓冲流 转换流 数据流 对象流 打印流 Scanner与System与IO流 教学目标 使用File类对象表示文件或目录 能 ...
- 【零基础学Java】—Scanner类的使用( 十)
[零基础学Java]-Scanner类的使用( 十) Scanner类的功能:可以实现键盘输入数据,到程序中去. 引用类型的一般使用步骤: 1️⃣ 导包 import 包路径.类名称: 如果需要使用的 ...
- java scanner 教程,Java Scanner 类 - Java 入门教程
一直以来,我们都使用 System.out.println() 方法向屏幕打印内容,那么如何接收输入的内容呢?本小节所学习的 Scanner 类就可以实现对输入内容的接收.在本小节,我们将学习 Sca ...
- Java Scanner类的详细介绍(Java键盘输入)
Java Scanner类的详细介绍(Java键盘输入) 一.Scanner类的简单使用 二.Scanner类的详细介绍 1.判断输入数据类型 2.next()与nextLine()的区别 3.求多个 ...
- 强哥说Java--Java Scanner 类
Java Scanner类 Java Scanner 类 前言 1. 定义 2. Scanner 对象创建 3. 常用方法 3.1 next()及其同伴方法 3.1.1 next() 方法 3.1.2 ...
- P25 Scanner类
P25 Scanner类 1.什么是Scanner类 2.引用类型使用步骤 2.1 导包 2.2 创建对象 2.3 调用方法 3.Scanner使用步骤 4.练习 4.1 求和 4.2 取最值 5.匿 ...
- Scanner类的next()和nextLine()
用户交互 scanner类来获取用户的输入 Scanner类的next()和nextLine() 方法获取输入的字符串,在读取前我们一般使用hasNext()与hasnextLine()判断是否还有输 ...
最新文章
- php div图片局部刷新,前端jquery 后端 thinkphp 实现局部刷新
- AI智商评测标准专家研讨会邀请,2018年12月20日北京
- 如何判断变量是否是数字
- Navicat for SQL Server 文件属性有哪些
- 分计算iv值_一文读懂评分卡的IV、KS、AUC、GINI指标
- 用python画个三维地球_如何用Python制作三维散点图?
- Github | 机器人工具大全
- 小程序 web socket_程序员的薪水和发展方向大全
- android实机闪退,安卓模拟器,安卓真机,进入播放界面就会闪退
- 中国内部折叠门市场趋势报告、技术动态创新及市场预测
- 《『若水新闻』客户端开发教程》——13.代码编写(5)
- BCELoss忽视某个类别
- 怎样开图纸便宜_一步一步教你如何看懂工程图纸,值得收藏!
- Maven—Windows操作系统中安装配置Maven环境
- java invoke 返回类型_java-控制器处理程序方法支持的返回类型
- Diffusion Model扩散模型原理
- 5G牌照发放了,但需要购买5G手机的用户应等明年再购买
- 【技术思路】极客时间-左耳听风-开篇词1
- android wifi驱动加载流程
- ElasticSearch安装、IK、映射、索引管理、搜索管理和集群管理
热门文章
- 【248】◀▶IEW-Unit13
- 关于EventSource的精华
- linux中cp:overwrite提示的问题
- HDU 1429 胜利大逃亡(续)
- hdu 1811 Rank of Tetris (并查集+拓扑排序)
- 移动端应用类型及特点
- ajax 文件数据流,Ajax如何读取数据流中的xml文件?
- requestmapping配置页面后_@RequestMapping使用须知
- 浅析java中的死锁_Java学习笔记五十五(死锁问题)
- 用python分析excel数据_Python3分析Excel数据