当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.io.FilterOutputStream用法及代码示例


Java 中的 java.io.FilterInputStream 类

FilterInputStream and FilterOutputStream Class

Java.io.FilterOutputStream 类是所有过滤输出流的类的超类。 FilterOutputStream 类的 write() 方法过滤数据并将其写入底层流,过滤的完成取决于流。

宣言:

public class FilterOutputStream
   extends OutputStream

构造函数:

  • FilterOutputStream(输出流极客):创建输出流过滤器。

方法:

  • 写(int arg):java.io.FilterOutputStream.write(int arg)将指定字节写入输出流。
    句法:
public void write(int arg)
Parameters : 
arg : Source Bytes
Return  :
void
Exception : 
In case any I/O error occurs.
  • Implementation :

Java


// Java program illustrating the working of work(int arg)
// method
import java.io.*;
import java.lang.*;
public class NewClass
{
    public static void main(String[] args) throws IOException
    {
        // OutputStream, FileInputStream & FilterOutputStream
        // initially null
        OutputStream geek_out = null;
        FilterOutputStream geek_filter = null;
        // FileInputStream used here
        FileInputStream geekinput = null;
        char c;
        int a;
        try
        {
            // create output streams
            geek_out = new FileOutputStream("GEEKS.txt");
            geek_filter = new FilterOutputStream(geek_out);
            // write(int arg) : Used to write 'M' in the file
            // - "ABC.txt"
            geek_filter.write(77);
            // Flushes the Output Stream
            geek_filter.flush();
            // Creating Input Stream
            geekinput = new FileInputStream("GEEKS.txt");
            // read() method of FileInputStream :
            // reading the bytes and converting next bytes to int
            a = geekinput.read();
            /* Since, read() converts bytes to int, so we
               convert int to char for our program output*/
            c = (char)a;
            // print character
            System.out.println("Character written by" +
                              " FilterOutputStream : " + c);
        }
        catch(IOException except)
        {
            // if any I/O error occurs
            System.out.print("Write Not working properly");
        }
        finally{
            // releases any system resources associated with
            // the stream
            if (geek_out != null)
                geek_out.close();
            if (geek_filter != null)
                geek_filter.close();
        }
    }
}
  • 笔记:
    在我使用过的程序中GEEKS.txt文件时,程序将创建一个具有代码中给定名称的新文件并写入其中。
    输出:
Character written by FilterOutputStream : M
  • write(byte[] buffer): java.io.FilterOutputStream.write(byte[] buffer)‘arg.length’字节到输出流。
    句法:
public void write(byte[] arg)
Parameters : 
buffer : Source Buffer to be written to the Output Stream
Return  :
void
Exception : 
In case any I/O error occurs.
  • Implementation :

Java


// Java program illustrating the working of work(byte
// buffer) method
import java.io.*;
import java.lang.*;
public class NewClass
{
    public static void main(String[] args) throws IOException
    {
        // OutputStream, FileInputStream & FilterOutputStream
        // initially null
        OutputStream geek_out = null;
        FilterOutputStream geek_filter = null;
        // FileInputStream used here
        FileInputStream geekinput = null;
        byte[] buffer = {77, 79, 72, 73, 84};
        char c;
        int a;
        try
        {
         // create output streams
         geek_out = new FileOutputStream("ABC.txt");
         geek_filter = new FilterOutputStream(geek_out);
         // writes buffer to the output stream
         geek_filter.write(buffer);
         // forces byte contents to written out to the stream
         geek_filter.flush();
         // create input streams
         geekinput = new FileInputStream("ABC.txt");
         while ((a=geekinput.read())!=-1)
         {
            // converts integer to the character
            c = (char)a;
            // prints
            System.out.print(c);
         }
        }
        catch(IOException except)
        {
            // if any I/O error occurs
            System.out.print("Write Not working properly");
        }
        finally
        {
            // releases any system resources associated
            // with the stream
            if (geek_out != null)
                geek_out.close();
            if (geek_filter != null)
                geek_filter.close();
        }
    }
}
  • 笔记:
    在我使用的程序中GEEKS.txt文件时,程序将创建一个具有代码中给定名称的新文件并写入其中。

输出:

MOHIT
  • write(byte[] buffer, int offset, int maxlen): java.io.FilterOutputStream.write(byte[] buffer, int offset, int maxlen)将 maxlen 个字节从指定的 Buffer(从偏移位置开始)写入到输出流。

句法:

public void write(write(byte[] buffer, int offset, int maxlen)
Parameters : 
buffer : Source Buffer to be written to the Output Stream
Return  :
buffer : Source Buffer to be written
offset : Starting offset 
maxlen : max no. of bytes to be written to the Output Stream
Exception : 
In case any I/O error occurs.
  • flush(): java.io.FilterOutputStream.flush()刷新输出流,并且不允许将任何数据写入该流。
    句法:
public void flush()
Parameters : 
------
Return  :
void
Exception : 
In case any I/O error occurs.
  • close(): java.io.FilterOutputStream.close()关闭流并释放所有分配给流的资源。
    句法:
public void close()
Parameters : 
------
Return  :
void
Exception : 
In case any I/O error occurs.

Java程序说明:write(byte[] buffer, int offset, int maxlen), flush(), close()方法

Java


// Java program illustrating the working of
// write(byte[] buffer, int offset, int maxlen),
// flush(), close() method
import java.io.*;
import java.lang.*;
public class NewClass
{
    public static void main(String[] args) throws IOException
    {
        // OutputStream, FileInputStream & FilterOutputStream
        // initially null
        OutputStream geek_out = null;
        FilterOutputStream geek_filter = null;
        // FileInputStream used here
        FileInputStream geekinput = null;
        byte[] buffer = {65, 66, 77, 79, 72, 73, 84};
        char c;
        int a;
        try
        {
            // create output streams
            geek_out = new FileOutputStream("ABC.txt");
            geek_filter = new FilterOutputStream(geek_out);
            // write(byte[] buffer, int offset, int maxlen) :
            // writes buffer to the output stream
            // Here offset = 2, so it won't read first two bytes
            // then maxlen = 5, so it will print max of 5 characters
            geek_filter.write(buffer, 2, 5);
            // forces byte contents to written out to the stream
            geek_filter.flush();
            // create input streams
            geekinput = new FileInputStream("ABC.txt");
            while ((a = geekinput.read())!=-1)
            {
                // converts integer to the character
                c = (char)a;
                // prints
                System.out.print(c);
            }
        }
        catch(IOException except)
        {
            // if any I/O error occurs
            System.out.print("Write Not working properly");
        }
        finally
        {
            // releases any system resources associated
            // with the stream
            if (geek_out != null)
                geek_out.close();
            if (geek_filter != null)
                geek_filter.close();
        }
    }
}

笔记:
在我使用的程序中GEEKS.txt文件时,程序将创建一个具有代码中给定名称的新文件并写入其中。

输出:

MOHIT


相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java.io.FilterOutputStream Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。