Java中的Java.io.Printstream类|1

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)
  •   Java I/O总结

    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 I/O总结
  •   本文标题:Java中的Java.io.Printstream类|1 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4348.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

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