当前位置:网站首页>流(stream),文件(File),IO
流(stream),文件(File),IO
2022-07-21 12:22:00 【bobo洁厕灵】
读取控制台输入字符
Java 的控制台输入由 System.in 完成。
为了获得一个绑定到控制台的字符流,你可以把 System.in 包装在一个 BufferedReader 对象中来创建一个字符流。
public static void main(String args[]) throws IOException
{
char c;
// 使用 System.in 创建 BufferedReader
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("输入字符, 按下 'q' 键退出.");
// 读取字符
do {
c = (char) br.read();
System.out.println(c);
} while(c != 'q');
}
// 使用 BufferedReader 在控制台读取字符
import java.io.*;
public class BRReadLines {
public static void main(String args[]) throws IOException
{
// 使用 System.in 创建 BufferedReader
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str;
System.out.println("Enter lines of text.");
System.out.println("Enter 'end' to quit.");
do {
str = br.readLine();
System.out.println(str);
} while(!str.equals("end"));
}
}
控制台输出
制台的输出由 print() 和 println() 完成。这些方法都由类 PrintStream 定义,System.out 是该类对象的一个引用。
PrintStream 继承了 OutputStream 类
读写文件
Java 流(Stream)、文件(File)和IO_w3cschool
Scanner类
java.util.Scanner是Java5的新特征,我们可以通过 Scanner 类来获取用户的输入。
通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,了解两种方法的不同
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
//next方式接收字符串
System.out.println("next方式接收:");
// 判断是否还有输入
if(scan.hasNext()){
String str1 = scan.next();
System.out.println("输入的数据为:"+str1);
}
}
}
输出结果
空格后面的字符没有被输出
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
//nextLine方式接收字符串
System.out.println("nextLine方式接收:");
// 判断是否还有输入
if(scan.hasNextLine()){
String str2 = scan.nextLine();
System.out.println("输入的数据为:"+str2);
}
}
}
next()与nextLine()区别
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
如果要输入int或float类型的数据,在Scanner类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取:
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
int i = 0 ;
float f = 0.0f ;
System.out.print("输入整数:");
if(scan.hasNextInt()){
// 判断输入的是否是整数
i = scan.nextInt() ;
// 接收整数
System.out.println("整数数据:" + i) ;
}else{
// 输入错误的信息
System.out.println("输入的不是整数!") ;
}
System.out.print("输入小数:");
if(scan.hasNextFloat()){
// 判断输入的是否是小数
f = scan.nextFloat() ;
// 接收小数
System.out.println("小数数据:" + f) ;
}else{
// 输入错误的信息
System.out.println("输入的不是小数!") ;
}
}
}
边栏推荐
猜你喜欢
随机推荐
Latex combines multiple subgraphs
ionic4 学习笔记1
There are always errors in installing plug-ins in NPM
highcharts图表及报表展示、导出数据
软件供应链攻击的新形式
js实现progress-steps(小练习)
上海交大团队使用联合深度学习优化代谢组学研究
How to manage login status? Login process?
ionic4学习笔记9--某东项目01
cookie和session「建议收藏」
连续子数组的最大和升级(二)
Hot100 单词拆分
2.js变量类型转换、自动转换、手动转换、请问parseInt(),parseFloat(),Number()的区别?
深入理解Istio流量管理的超时时间设置
5.引用类型和值类型作为函数参数?
HCIP笔记整理 2022/7/17
C语言中不同类型算术运算隐式转换规则验证
微信小程序
Records of relevant tools for flow analysis
13.onkeydown,up和onkeypress的区别?