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

来源:互联网 发布:apache cgi python 编辑:程序博客网 时间:2024/06/05 09:34

由于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.

0 0