Java IO--Scanner
2023-09-14 08:57:16 时间
public static void main(String args[]){
Scanner scan = new Scanner(System.in) ; // 从键盘接收数据
System.out.print("输入数据:") ;
String str = scan.next() ; // 接收数据
System.out.println("输入的数据为:" + str) ;
};
修改分隔符:
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("输入的不是小数!") ; }; Scanner这个类虽然可以接收各种类型,但是对于日期型的数据却无法接收。 如果要想接收Date类型的数据,则只能通过字符串转型,但是在接收的时候依然可以使用Scanner类中提供的方法进行验证: ·验证:public String hasNext(Pattern) ·接收:public String next(String pattern)
使用Scanner直接读取文件内容:
Java IO详解 初学Java时,一直搞不懂Java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见。
import java.util.* ; public class ScannerDemo02{ public static void main(String args[]){ Scanner scan = new Scanner(System.in) ; // 从键盘接收数据 System.out.print("输入数据:") ; scan.useDelimiter("\n") ; String str = scan.next() ; // 接收数据 System.out.println("输入的数据为:" + str) ; };
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("输入的不是小数!") ; }; Scanner这个类虽然可以接收各种类型,但是对于日期型的数据却无法接收。 如果要想接收Date类型的数据,则只能通过字符串转型,但是在接收的时候依然可以使用Scanner类中提供的方法进行验证: ·验证:public String hasNext(Pattern) ·接收:public String next(String pattern)
import java.util.* ; import java.text.* ; public class ScannerDemo04{ public static void main(String args[]){ Scanner scan = new Scanner(System.in) ; // 从键盘接收数据 String str = null ; Date date = null ; System.out.print("输入日期(yyyy-MM-dd):") ; if(scan.hasNext("^\\d{4}-\\d{2}-\\d{2}$")){ // 判断 str = scan.next("^\\d{4}-\\d{2}-\\d{2}$") ; // 接收 try{ date = new SimpleDateFormat("yyyy-MM-dd").parse(str) ; }catch(Exception e){} }else{ System.out.println("输入的日期格式错误!") ; System.out.println(date) ; };还可以直接从文件中读取信息。假设:d:\test.txt文件中写入内容:
使用Scanner直接读取文件内容:
import java.util.* ; import java.text.* ; import java.io.* ; public class ScannerDemo05{ public static void main(String args[]){ File f = new File("D:" + File.separator + "test.txt") ; // 指定操作文件 Scanner scan = null ; try{ scan = new Scanner(f) ; // 从键盘接收数据 }catch(Exception e){} String str = null ; if(scan.hasNext()){ str = scan.next(); System.out.println("文件内容为:" + str) ; };现在的文件内容确实读取进来了。但是此程序依然不完美。以上只能读取第一行数据,因为存在换行,所以就认为读完了。 所以在使用Scanner的时候,要考虑换行的功能:
import java.util.* ; import java.text.* ; import java.io.* ; public class ScannerDemo05{ public static void main(String args[]){ File f = new File("D:" + File.separator + "test.txt") ; // 指定操作文件 Scanner scan = null ; try{ scan = new Scanner(f) ; // 从键盘接收数据 }catch(Exception e){} StringBuffer str = new StringBuffer() ; while(scan.hasNext()){ str.append(scan.next()).append(\n) ; // 取数据 System.out.println("文件内容为:" + str) ; };
Java IO详解 初学Java时,一直搞不懂Java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见。
相关文章
- java解析xml element_java解析XML Node与Element的区别(推荐)「建议收藏」
- java字符串的拆分_Java中的字符串分割 .
- Windows配置Java环境变量(下载、安装、配置环境)[通俗易懂]
- 选择排序-Java「建议收藏」
- eclipse创建一个java项目目录_Eclipse创建JAVA项目
- 【JAVA面试必会】JMM高并发详解(java内存模型、JMM三大特征、volatile关键字 )「建议收藏」
- java arraydeque poll,Java ArrayDeque「建议收藏」
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- Java生成UUID方式[通俗易懂]
- 【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )
- Java对象指定部分/全部属性copy工具类
- centos7 java -verison Error: Could not create the Java Virtual Machine.
- java压缩与解压(Java.util.zip)详解编程语言
- java基础之反射详解编程语言
- java判断字符串是否为乱码详解编程语言
- Java连接Mysql:探索数据库之路。(java链接mysql)
- java.util.Date日期类通过java语句转换成Sql(这里测试用的是oracle)语句可直接插入(如:insert into)的日期类型详解编程语言
- Java IO(一):IO和File详解编程语言
- Linux开启异步IO:变革新动力(linux异步io开启)
- 数据处理处理Java中Redis过期数据的方法(redisjava过期)
- 使用Redis存储Java对象(redis存java对象)
- 部署Java开发下的Linux部署(java开发linux)
- Java运行在Linux系统上免费下载(linux java下载)
- Linux系统IO性能查询实践(linux io 查询)
- 分析Oracle IO慢原因,提升数据库性能(oracle io 慢)
- java递归菜单树转换成pojo对象
- java中删除数组中重复元素方法探讨
- java学习笔记之eclipse+tomcat配置