Java基础回顾 : 打印流和扫描流

由于OutputStream、Writer 类实现内容输出时操作并不方便 .

 所以IO包提供了两个专门用于输出的操作类:PrintStreamPrintWriter。前者是字节流操作、后者是字符流操作 .

PrintStream类的构造方法 : public PrintStream(OutputStream out)

如果要想进行文件的输出,使用的是FileOutputStream、FileWriter 子类。在PrintStream 类之中提供了一系列的输出方法:print()、println()。

eg : 打印流的示例 :

package example;

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("e:\\test.txt");
		if(file.exists()) {
			PrintStream out = new PrintStream(new FileOutputStream(file));
			String name = "Monica" ;
			int age = 20 ;
			double score = 10.5 ;
			out.println("姓名 :" + name + ",年龄:" + age + " ,分数:" + score);
			out.println(100);
			out.println(200.5);
			//格式化输出 :
			out.format("姓名:%s,年龄:%d,分数:%5.2f", name,age,score);
			out.close();
		}
	}

}
▲ . 上面的例子中用到一个格式化输出的方法 .

从JDK 1.5 开始,PrintStream 类增加了新的支持 —— 格式化输出
public PrintStream format(String format, Object... args)
格式化需要一些标记:
├ . · 字符串:%s;
├ . · 整型数据:%d;
├ . · 小数:%m.nf。


======================================================================================================================


同样的为了读取数据的方便 , 自从JDK1.5之后 , 增加一个新的功能类 : java.util.Scanner类 .

Scanner类的构造方法 : public Scanner(InputStream source)

根据其构造方法可以为传入一个InputStream流来实例化Scanner类 .

eg : 扫描流的示例 :

package example;

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("e:\\test.txt");
		if(file.exists()) {
			Scanner scan = new Scanner(new FileInputStream(file),"utf-8");
			//使用换行符作为分隔符("\n"),默认的情况下使用的空格或者换行符
			scan.useDelimiter("\n");
			while(scan.hasNext()) {
				System.out.print(scan.next());
			}
			scan.close();
		}
	}

}
▲ . 使用Scanner 操作文件的读取是非常方便的,但是一定要考虑好分隔符的问题。

Scanner 类还可以方便的进行键盘数据的接收,如果现在要想由键盘输入数据,则可以利用System.in完成。

eg : 

package example;

import java.util.Scanner;

/**
 * 扫描流
 */

public class TestDemo {
	public static void main(String[] args) throws Exception {
		Scanner scan = new Scanner(System.in);
		//使用换行符作为分隔符("\n"),默认的情况下使用的空格或者换行符
		scan.useDelimiter("\n");
		System.out.print("请输入内容:");
		if(scan.hasNext()) {
			System.out.print("输入内容为:" + scan.next());
		}
		scan.close();
	}

}

★ . 具体的方法请查阅API.

猜你喜欢

转载自blog.csdn.net/sinat_18882775/article/details/51544660
今日推荐