(第3讲)Java如何获得用户在控制台输入的东西、如何从文件中获得数据
来源:互联网 发布:删除cadbak文件软件 编辑:程序博客网 时间:2024/05/17 22:12
第三讲
首先声明一下,这是我自己 的一个学习过程,只是想要记录下来,如果有错误还请各位大神指出,谢谢啦
1、 InputStreamReader m=new InputStreamReader(System.in);
BufferedReader n=new BufferedReader(m);
System.out.println("请输入");
//获取用户输入的文本行
String name=n.readLine();//此时会抛出异常,要进行处理,第一种处理抛出异常,第二种处理try catch
System.out.println(name);
结果是: 请输入
13324sdgdzdga啥地方睡得着
13324sdgdzdga啥地方睡得着
2、
System.out.println("请输入");
Scanner k=new Scanner(System.in);
String l=k.nextLine();
int o=k.nextInt();
float p=k.nextFloat();
double q=k.nextDouble();
byte s=k.nextByte();
3、Scanner和BufferedReader区别
通俗地讲Scanner是直接往硬盘里写数据,而BufferedReader是先把数据读到缓存区然后再写进硬盘里的。BufferedReader的效率比Scanner的高。BufferedReader是字符输入流,不能读入基本类型值;然而Scanner是一个用正则表达式处理过的流,可以读入基本类型值。
Scanner一个可以使用正则表达式来分析基本类型和字符串的简单文本扫描器;是控制台应用程序最为常用的文本输入方式。 Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。所以说Scanner不能输入空格,如果你希望取得含有空格的字符串BufferedReader可以做到。
BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取;速度要比Scanner快。BufferedReader 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
4、分别什么时候会用Scanner,什么时候使用BufferedReader呢?
简单的说就是希望获得基本数据类型的时候用Scanner;希望获得完整的字符串的时候(尤其是包含有空白字符的时候)用BufferedReader。
使用Scanner来取得使用者的输入很方便,但是它以空白来区隔每一个输入字串,在某些时候并不适用,因为使用者可能输入一个字串,中间会包括空白字元,而您希望取得完整的字串。这是就要用BufferedReader,他是Java.io套件中的一个类别,所以用这个的时候要引入包(
import java.io.BufferedReader; import java.io.InputStreamReader;),它是以回车符来结束输入的;并且使用BufferedReader物件的readLine()方法必须处理IOException例外(exception),例外处理机制是Java提供给程式设计人员捕捉程式中可能发生的错误所提供的机制。
/**
* 从文件中输入方法;(File、Scanner)和(File、FileInputStream、InputStreamReader、BufferedReader)
* 从控制面板输入方法(Scanner)和(InputStreamReader、BufferedReader)
*/
package com.inout;
import java.io.*;
import java.util.*;
public class One {
public static void main(String[] args) {
//从文件中输入方法1
File f = new File("D:\\test\\a.txt");
Scanner a = null;
try {
a = new Scanner(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String s1 = a.nextLine();
System.out.println(s1);
//从文件中输入方法2
InputStreamReader i = null;
try {
i = new InputStreamReader(new FileInputStream(f));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedReader b = new BufferedReader(i);
String s22 = null;
try {
s22 = b.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(s22);
//从控制面板输入方法1
Scanner a2 = new Scanner(System.in);
String s12 = a2.nextLine();
System.out.println(s12);
//从控制面板输入方法2
InputStreamReader i2 = new InputStreamReader(System.in);
BufferedReader b2 = new BufferedReader(i2);
String s222 = null;
try {
s222 = b2.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(s222);
}
}
* 从文件中输入方法;(File、Scanner)和(File、FileInputStream、InputStreamReader、BufferedReader)
* 从控制面板输入方法(Scanner)和(InputStreamReader、BufferedReader)
*/
package com.inout;
import java.io.*;
import java.util.*;
public class One {
public static void main(String[] args) {
//从文件中输入方法1
File f = new File("D:\\test\\a.txt");
Scanner a = null;
try {
a = new Scanner(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String s1 = a.nextLine();
System.out.println(s1);
//从文件中输入方法2
InputStreamReader i = null;
try {
i = new InputStreamReader(new FileInputStream(f));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedReader b = new BufferedReader(i);
String s22 = null;
try {
s22 = b.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(s22);
//从控制面板输入方法1
Scanner a2 = new Scanner(System.in);
String s12 = a2.nextLine();
System.out.println(s12);
//从控制面板输入方法2
InputStreamReader i2 = new InputStreamReader(System.in);
BufferedReader b2 = new BufferedReader(i2);
String s222 = null;
try {
s222 = b2.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(s222);
}
}
0 0
- (第3讲)Java如何获得用户在控制台输入的东西、如何从文件中获得数据
- java从控制台获得输入
- 如何从在JAVA项目中获得配置文件的路径
- 在javascript中如何获得textbox输入光标的位置
- 在javascript中如何获得textbox输入光标的位置
- 如何从R中获得免费的小型数据集
- 如何从 Trados双语文件 中获得 原文 的方法
- 如何在piwik中获得用户变量(Custom Variables)
- 如何在hibernate中分页获得sql的数据
- C#控制台基础 如何手动获得一个文件的路径
- MFC程序中获得控制台的输入
- Java中如何获得文件的inode信息
- 如何在java方法中获得当前方法的名称
- 如何在 Java 代码中获得 WebRoot 的物理路径
- xml只定义的textview如何在java中获得
- 如何从EXPDP导出的文件里获得用户授权的SQL语句
- 如何从Outlook里获得用户的名字和头像
- 4 如何获得控制台应用程序的路径
- 字符串转时间时的注意
- (第2讲)Java小数如何保留小数点后n位
- Retrofit一个爽到HI的网络加载库
- 《岁末之歌》
- MySQL学习(一)
- (第3讲)Java如何获得用户在控制台输入的东西、如何从文件中获得数据
- iOS基础框架
- 杭电2609
- 产生n位元的所有格雷码。
- 第五周项目1——(1)三角形类雏形
- MATLAB/c++混合编程
- wget完成ftp链接下载
- finalize()方法什么时候被调用?析构函数(finalization)的目的是什么?
- hdu4496 并查集