Java中的Java.io.Printstream类|1

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

Java中的Java.io.Printstream类|1

PrintStream将功能添加到另一个输出流,即可方便地打印各种数据值的表示。与其他输出流不同,PrintStream从不抛出IOException; 相反,例外情况只是设置一个可以通过checkError方法测试的内部标志。或者,可以创建一个PrintStream以便自动刷新。
使用平台的默认字符编码将PrintStream打印的所有字符转换为字节。PrintWriter类应该用于需要编写字符而不是字节的情况。

Printstream类声明

public class PrintStream
  extends FilterOutputStream
    implements Appendable, Closeable

Printstream构造函数和描述

  • PrintStream(File file):使用指定的文件创建新的打印流,不会自动行刷新。
  • PrintStream(File file,String csn):使用指定的文件和字符集创建新的打印流,不会自动行刷新。
  • PrintStream(OutputStream out):创建一个新的打印流。
  • PrintStream(OutputStream out,boolean autoFlush):创建一个新的打印流。
  • PrintStream(OutputStream out,boolean autoFlush,String encoding):创建一个新的打印流。
  • PrintStream(String fileName):使用指定的文件名创建新的打印流,不会自动清除行。
  • PrintStream(String fileName,String csn):使用指定的文件名和字符集创建新的打印流,不会自动行刷新。

Printstream方法:

  • PrintStream append(char c):将指定的字符追加到此输出流。
    语法: public PrintStream append(char c)
     参数:
     c  - 要追加的16位字符
     返回:
    此输出流
  • PrintStream append(CharSequence csq,int start,int end):将指定的字符序列追加到此输出流。
    语法: public PrintStream append(CharSequence csq,
                     int start,
                     int end)
    参数:
    csq  - 将从中追加子序列的字符序列。 
    start - 子序列中第一个字符的索引
    end - 子序列中最后一个字符后面的字符的索引
    返回:
    这个输出流
    抛出: 
    IndexOutOfBoundsException
  • PrintStream append(CharSequence csq):将指定字符序列的子序列附加到此输出流。
    语法: public PrintStream append(CharSequence csq)
     参数:
    csq  - 要追加的字符序列。 
    返回:
    这个输出流
    
  • boolean checkError():刷新流并检查其错误状态。
    Syntax :public boolean checkError()
    Returns:
    当且仅当此流遇到IOException时才返回true
    除了InterruptedIOException之外,还调用了setError方法
  • protected void clearError():清除此流的内部错误状态。
    语法: protected void clearError()
    
  • void close():关闭流。
    Syntax :public void close()
    Overrides:
    关闭 class FilterOutputStream
  • void flush():刷新流。
    Syntax :public void flush()
    Overrides:
    刷新  class FilterOutputStream
  • PrintStream format(Locale l,String format,Object...args):使用指定的格式字符串和参数将格式化的字符串写入此输出流。
    Syntax :public PrintStream format(Locale l,
                     String format,
                     Object... args)
    Parameters:
    将“数据args”根据“默认Locale值(区域属性)”按照format格式化,并写入到“PrintStream输出流”中
    Returns: 
    输出流
    Throws: 
    IllegalFormatException 
    NullPointerException
  • PrintStream格式(字符串格式,对象...参数):使用指定的格式字符串和参数将格式化的字符串写入此输出流。
    Syntax :public PrintStream format(String format,
                     Object... args)
    Parameters:
    将“换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
    Returns:
    输出流
    Throws:
    IllegalFormatException 
    NullPointerException
  • void print(boolean b):打印一个布尔值。
    语法: public void print(boolean b)
  • void print(char c):打印一个字符。
    语法: public void print(char c)
  • void print(char [] s):打印一组字符。
    语法: public void print(char [] s)
    
  • void print(double d):打印双精度浮点数。
    语法: public void print(double b)
    
  • void print(float f):打印一个浮点数。
    语法: public void print(float f)
  • void print(int i):打印一个整数。
    语法: public void print(int i)
  • void print(long l):打印一个长整数。
    语法: public void print(long l)
  • void print(Object obj):打印一个对象。
    语法: public void print(Object obj)
  • void print(String s):打印一个字符串。
    语法: public void print(String s)
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Locale;
//Java program to demonstrate PrintStream methods
class Printstream
{
	public static void main(String args[]) throws FileNotFoundException
	{
		FileOutputStream fout=new FileOutputStream("file.txt");
		
		//creating Printstream obj
		PrintStream out=new PrintStream(fout);
		String s="First";

		//writing to file.txt
		char c[]={'G','E','E','K'};
		
		//illustrating print(boolean b) method
		out.print(true);
		
		//illustrating print(int i) method
		out.print(1);
		
		//illustrating print(float f) method
		out.print(4.533f);
		
		//illustrating print(String s) method
		out.print("GeeksforGeeks");
		out.println();
		
		//illustrating print(Object Obj) method
		out.print(fout);
		out.println();
		
		//illustrating append(CharSequence csq) method
		out.append("Geek");
		out.println();
		
		//illustrating checkError() method
		out.println(out.checkError());
		
		//illustrating format() method
		out.format(Locale.UK, "Welcome to my %s program", s);
		
		//illustrating flush method
		out.flush();
		
		//illustrating close method
		out.close();
	}
}

输出:

true14.533GeeksforGeeks
java.io.FileOutputStream@1540e19dGeek
false
Welcome to my First program

Java Java.io.Printstream用法总结

/* 
 * 构造函数
 */
// 将“输出流out”作为PrintStream的输出流,不会自动flush,并且采用默认字符集
// 所谓“自动flush”,就是每次执行print(), println(), write()函数,都会调用flush()函数;
// 而“不自动flush”,则需要我们手动调用flush()接口。
PrintStream(OutputStream out)
// 将“输出流out”作为PrintStream的输出流,自动flush,并且采用默认字符集。
PrintStream(OutputStream out, boolean autoFlush)
// 将“输出流out”作为PrintStream的输出流,自动flush,采用charsetName字符集。
PrintStream(OutputStream out, boolean autoFlush, String charsetName)
// 创建file对应的FileOutputStream,然后将该FileOutputStream作为PrintStream的输出流,不自动flush,采用默认字符集。
PrintStream(File file)
// 创建file对应的FileOutputStream,然后将该FileOutputStream作为PrintStream的输出流,不自动flush,采用charsetName字符集。
PrintStream(File file, String charsetName)
// 创建fileName对应的FileOutputStream,然后将该FileOutputStream作为PrintStream的输出流,不自动flush,采用默认字符集。
PrintStream(String fileName)
// 创建fileName对应的FileOutputStream,然后将该FileOutputStream作为PrintStream的输出流,不自动flush,采用charsetName字符集。
PrintStream(String fileName, String charsetName)

// 将“字符c”追加到“PrintStream输出流中”
PrintStream     append(char c)
// 将“字符序列从start(包括)到end(不包括)的全部字符”追加到“PrintStream输出流中”
PrintStream     append(CharSequence charSequence, int start, int end)
// 将“字符序列的全部字符”追加到“PrintStream输出流中”
PrintStream     append(CharSequence charSequence)
// flush“PrintStream输出流缓冲中的数据”,并检查错误
boolean     checkError()
// 关闭“PrintStream输出流”
synchronized void     close()
// flush“PrintStream输出流缓冲中的数据”。
// 例如,PrintStream装饰的是FileOutputStream,则调用flush时会将数据写入到文件中
synchronized void     flush()
// 根据“Locale值(区域属性)”来格式化数据
PrintStream     format(Locale l, String format, Object... args)
// 根据“默认的Locale值(区域属性)”来格式化数据
PrintStream     format(String format, Object... args)
// 将“float数据f对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(float f)
// 将“double数据d对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(double d)
// 将“字符串数据str”写入到“PrintStream输出流”中,print实际调用的是write函数
synchronized void     print(String str)
// 将“对象o对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(Object o)
// 将“字符c对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(char c)
// 将“字符数组chars对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(char[] chars)
// 将“long型数据l对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(long l)
// 将“int数据i对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(int i)
// 将“boolean数据b对应的字符串”写入到“PrintStream输出流”中,print实际调用的是write函数
void     print(boolean b)
// 将“数据args”根据“Locale值(区域属性)”按照format格式化,并写入到“PrintStream输出流”中
PrintStream     printf(Locale l, String format, Object... args)
// 将“数据args”根据“默认Locale值(区域属性)”按照format格式化,并写入到“PrintStream输出流”中
PrintStream     printf(String format, Object... args)
// 将“换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println()
// 将“float数据对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(float f)
// 将“int数据对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(int i)
// 将“long数据对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(long l)
// 将“对象o对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(Object o)
// 将“字符数组chars对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(char[] chars)
// 将“字符串str+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
synchronized void     println(String str)
// 将“字符c对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(char c)
// 将“double数据对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(double d)
// 将“boolean数据对应的字符串+换行符”写入到“PrintStream输出流”中,println实际调用的是write函数
void     println(boolean b)
// 将数据oneByte写入到“PrintStream输出流”中。oneByte虽然是int类型,但实际只会写入一个字节
synchronized void     write(int oneByte)
// 将“buffer中从offset开始的length个字节”写入到“PrintStream输出流”中。
void     write(byte[] buffer, int offset, int length)
  •   本文标题:Java中的Java.io.Printstream类|1 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4348.html

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读