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

原创 2016年05月31日 13:05:06

由于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.
版权声明:本文为博主原创文章,未经博主允许不得转载。

IO流_打印流的概述和特点

package cn.itcast_03; /* * 打印流 * 字节打印流 PrintStream * 字符打印流 PrintWriter * * 打印流的特点: * A:只有写数...
  • L1585931143
  • L1585931143
  • 2017年02月27日 21:08
  • 308

【Java基础知识】IO流--标准输入输出流、打印流PrintStream

PrintStream
  • zhuwenchao90
  • zhuwenchao90
  • 2017年01月21日 22:39
  • 407

Java IO _打印流

掌握打印流的操作 掌握格式化输出 1、打印流 在整个 IO 包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream) 和字符打印流(PrintWriter) . 打印流提供...
  • hanshileiai
  • hanshileiai
  • 2011年08月24日 10:48
  • 6526

黑马程序员——JAVA基础---打印流对象

打印流对象   System.out 返回值结果PrintStream就是打印流   println()是PrintStream类的方法   PrintStream永远不会抛出IO异常,只操作数...
  • shang741815151
  • shang741815151
  • 2014年11月25日 15:08
  • 499

java笔记-IO流-字节打印流

PrintStream将各种数据类型的数据原样打印。 PrintStream 字节打印流 构造函数可以接收的参数类型 1.File对象 :File 2.字符串路径:String 3.字节...
  • Cs1275
  • Cs1275
  • 2014年08月12日 11:20
  • 1061

两个特殊的流对象(System.in和System.out)及打印流

一、父类 System是一个类java.lang.System,属于java.lang包,定义如下: public final class System extends Object//此类ewi...
  • lpp1234567
  • lpp1234567
  • 2014年03月04日 13:09
  • 647

java基础.io流.打印流

打印流
  • Mr_tianyanxiaobai
  • Mr_tianyanxiaobai
  • 2017年03月01日 17:49
  • 91

【Java】打印流与缓冲区读者完成输入与输出到文件操作

这部分看书上概念,变量声明也多得要命,比较难以看懂, 就算你按照书上的程序运行一次你也未必清楚再干什么。 如果让你自己写一个让用户输入字符,再把这个字符输出到文件,对于初学Java的人来说,可能有些难...
  • yongh701
  • yongh701
  • 2015年01月20日 09:59
  • 2307

包装流和缓冲流

处理流/包装流(相对于节点流更高级)装饰设计模式/包装模式: 1:隐藏了底层的节点流的差异,并对外提供了更方便的输入/输出功能,让我们只关心高级流的操作. 2:使用处理流包装了节点流,程序直接操作处理...
  • caidie_huang
  • caidie_huang
  • 2016年10月05日 14:56
  • 796

Java_流的操作规律(技巧)

流的操作规律1. 明确源和目的。数据源:就是需要读取,可以使用两个体系:InputStream、Reader; 数据汇:就是需要写入,可以使用两个体系:OutputStream、Writer; 2. ...
  • HLhakey
  • HLhakey
  • 2015年07月23日 01:09
  • 486
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础回顾 : 打印流和扫描流
举报原因:
原因补充:

(最多只允许输入30个字)