16.7打印流

对于数据的操作可以使用OutputStream类或者Writer类完成,但是这两个输出类有一定的局限性。例如,OutputStream只允许输出字节数据,writer只允许输出字符数据和字符串数据。为了简化输出的操作提供有两个打印流操作类:字节打印流(PrintStream)、字符打印流(PrintWriter)
在这里插入图片描述
PrintWriter类的常用方法
在这里插入图片描述
范例:使用PrintWriter实现文件内容输出

package com.lxh.sixteenchapter;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;

public class JavaIODemo423 {
       public static void main(String[] args) {
		File file=new File("E:"+File.separator+"File"+File.separator+"info.txt");
		if(!file.getParentFile().exists()) {
			file.getParentFile().mkdirs();
		}
		PrintWriter pu=null;
		try {
		    pu=new PrintWriter(new FileOutputStream(file));
			pu.println("姓名:唐三");   //输出数据并换行
			pu.print("年龄:");        //输出数据不换行
			pu.print(15);//输出数据并换行
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}finally {
			pu.close();
		}
	}
}

执行结果
在这里插入图片描述

打印流支持多种数据类型,也可以方便地实现数据的换行处理
从JDK1.5开始打印流支持了格式化输出的操作,可以利用printf()方法设置数据的占位符(

  1. 字符串:%s
  2. 整数:%d
  3. 浮点数:%m.nf
  4. 字符:%c
    等)与具体的数值结合后进行内容输出操作。
    范例:格式化输出
package com.lxh.sixteenchapter;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;

public class JavaIODemo425 {
       public static void main(String[] args) {
    	File file=new File("E:"+File.separator+"File"+File.separator+"info.txt");
   		if(!file.getParentFile().exists()) {
   			file.getParentFile().mkdirs();
   		}
   		PrintWriter pu=null;
   		try {
			pu=new PrintWriter(new FileOutputStream(file));
			String name="小舞";
			int age=18;
			double salary=88823.6;
			pu.printf("姓名:%s、年龄:%d、薪水:%8.2f", name,age,salary);//格式化输出
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}finally {
			pu.close();
		}
	}
}

执行结果
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章