Java I/O系统之Print 流

1. Print 流介绍

1)        PrintWriter和PrintStream都属于输出流,分别针对与字符和字节。

2)        PrintWriter和PrintStream提供了重载的print。

3)        Println方法用于多种数据类型的输出。

4)        PrintWriter和PrintStream的输出操作不会抛出异常,用户通过检测错误状态获取错误信息。

5)        PrintWriter和PrintStream有自动flush功能。

2. Print 流常用函数

1)        PrintWriter(Writer out)

2)        PrintWriter(Writer out,booleanautoFlush)

3)        PrintWriter(OutputStream out)

4)        PrintWriter(OutputStreamout,boolean autoFlush)

5)        PrintStream(OutputStream out)

6)        PrintStream(OutputStreamout,boolean autoFlush)

3. Print 流例子一

package com.owen.io;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;

/**
 * Print流的使用
 * 
 * @author OwenWilliam 2016-7-20
 * @since
 * @version v1.0.0
 *
 */
public class TestPrintStream1
{

	public static void main(String[] args)
	{
		PrintStream ps = null;
		try
		{
			// 将内容读出到指定文件中
			FileOutputStream fos = new FileOutputStream("E:\\test\\log.dat");
			// 使用PrintStream不会抛出异常,关于所有的print的操作都与其有关
			ps = new PrintStream(fos);
		} catch (IOException e)
		{
			e.printStackTrace();
		}

		// setOut是将输出的流“管道”对准指定的文件中输出,而不是我们的命令窗口
		if (ps != null)
		{
			System.setOut(ps);
		}

		int ln = 0;
		// 输出到控制台,同时也会写入上面的文件
		for (char c = 0; c <= 60000; c++)
		{
			System.out.print(c + " ");
			if (ln++ >= 100)
			{
				System.out.println();
				ln = 0;
			}
		}
	}

}

4. Print 流例子二

package com.owen.io;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;

/**
 * Print流文件读出
 * @author OwenWilliam 2016-7-20
 * @since
 * @version v1.0.0
 *
 */
public class TestPrintStream2
{

	public static void main(String[] args)
	{
		String filename = "E:/workspace/Java/IO/src/com/owen/io/TestPrintStream2.java";
		if (filename != null)
		{
			list (filename, System.out);
		}
	}

	/**
	 * 实现指定文件读出
	 * @param f 文件路径
	 * @param fs 读出
	 */
	private static void list(String f, PrintStream fs)
	{
		try
		{
			BufferedReader br = new BufferedReader(new FileReader(f));
			String s = null;
			while ((s = br.readLine()) != null)
			{
				fs.println(s);
			}
			br.close();
		} catch (IOException e)
		{
			fs.println("无法读取文件");
		}
	}

}

5. Print 流例子三

package com.owen.io;

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Date;

/**
 * 使用Print流实现日志功能
 * @author OwenWilliam 2016-7-20
 * @since
 * @version v1.0.0
 *
 */
public class TestPrintStream3
{

	public static void main(String[] args)
	{
		String s = null;
		BufferedReader br = new BufferedReader(
				          new InputStreamReader(System.in));
		try
		{
			//文件写入地方
			FileWriter fw = new FileWriter("E:\\test\\logfile.log",true);
			PrintWriter log = new PrintWriter(fw);
			//一行一行写入
			while ((s = br.readLine()) != null)
			{
				if (s.equalsIgnoreCase("exit")) break;
				System.out.println(s.toUpperCase());
				log.println("-------");
				log.println(s.toUpperCase());
				log.flush();
			}
			//结束记录时间
			log.println("====" + new Date() + "====");
			log.flush();
			log.close();
		} catch (IOException e)
		{
			e.printStackTrace();
		}
	}

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值