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;
- }
- }
- }
- }
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("无法读取文件");
- }
- }
- }
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();
- }
- }
- }
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();
}
}
}