首页 > 编程 > Java > 正文

Java IO(二)

2019-11-08 01:42:53
字体:
来源:转载
供稿:网友

打印流

java IO(一) 曾介在绍了多种输出流.可以发现在输出数据时,不论是使用字节输出流OutputStream还是字符输出流Writer都很不方便,比如想输出一个int 型数据,还要先把int型转换称字符串(若使用OuputStream,还需要将字符串转换称字节数组)再输出.为了简化输出操作,java专门提供了两个类:

字节打印流(PRintStream)

字符打印流(PrintWriter)

由于这两个类的操作类似,所以这里只讲解字节打印流PrintStream

PrintStream类常用方法

No. 方法 类型 描述
1 public PrintStream(File file) 构造 通过一个File对象实例化PrintStream类
2 public PrintStream(OutputStream out) 构造 接收OutputStream类对象实例化PrintStream类
3 public PrintStream printf(String format, Object … args) 普通 根据本地环境格式化输出,与C语言的printf()函数类似
4 public PrintStream append(char c) 普通 向输出流中添加数据
5 public void print(数据类型 b) 普通 输出任意指定类型数据
6 public void println(数据类型 b) 普通 输出任意指定类型数据后换行

代码示例

import java.io.File;import java.io.FileOutputStream;import java.io.PrintStream;public class TestDemo{ public static void main(String [] args)throws Exception{ File file = new File("/home/linyimin/DaSi/java/out.txt"); // 使用FileOutputStream类对象实例化PrintStream类 PrintStream tool = new PrintStream(new FileOutputStream(file)); // 向文件中输入int型数据 tool.println(30); // 向文件中输入double型数据 tool.println(12.00); // 向文件中输入char型数据 tool.println('a'); // 向文件中输入boolean型数据 tool.println(true); // 向文件中输入字符串 tool.println("Hello World."); // 关闭打印流 tool.close(); }}

程序运行结果: out.txt文件中的内容为: 30 12.0 a true Hello World.


本程序使用PrintStream类很方便的完成了各类数据写入文件的操作.

Scanner

Java不仅为程序输出数据方便提供PrintStream类,还为方便程序读入数据提供了Scanner类.

Scanner类常用方法

No. 方法 类型 描述
1 public Scanner(InputStream source) 构造 从指定的字节输入流中接收内容
2 public boolean hasNext(Pattern pattern) 普通 判断输入的数据是否符合指定的正则标准
3 public boolean hasNext() 普通 判断是否有输入内容
4 public boolean hasNextXXX() 普通 判断输入是否为指定的数据类型
5 public Stirng next() 普通 接收内容
6 public String next(Pattern pattern) 普通 进行正则验证,符合就接收内容
7 public XXX nextXXX() 普通 接收指定的输入类型数据
8 public Scanner useDelimiter(String pattern) 普通 设置读取的分隔符

代码示例

通过Scanner进行数据的输入import java.util.Scanner;public class TestDemo{ public static void main(String [] args){ Scanner in = new Scanner(System.in); in.useDelimiter("/n"); System.out.println("请输入数据:"); if(in.hasNext()){ String str = in.next(); System.out.println("你输入的数据为:" + str); } }}

程序运行结果 请输入数据: Hello World.

你输入的数据为:Hello World.

本程序通过Scanner完成从键盘输入数据,需要注意的是:如果不使用useDelimiter()函数设置分隔符,系统默认空格和回车为分割符.

通过Scanner从文件中读取信息import java.io.File;import java.io.FileInputStream;import java.util.Scanner;public class TestDemo{ public static void main(String [] args)throws Exception{ File file = new File("/home/linyimin/DaSi/java/out.txt"); // 实例化Scanner对象 Scanner in = new Scanner(new FileInputStream(file)); // 设置分隔符 in.useDelimiter("/n"); System.out.println("out.txt文件的内容为:"); // 每一次读取一行数据 while(in.hasNext()){ System.out.println(in.next()); } }}

程序运行结果 out.txt文件的内容为: 30 12.0 a true Hello World.


本程序使用Scanner完成从文件中读取内容的操作(每次读取一行)


注:在日常程序的开发中,如果要通过程序输出数据,则建议采用PrintStream打印流完成,如果存在中文.则建议采用PrintWriter,而对于程序输入数据,则建议采用Scanner类来完成.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表