2011.9技术博客IO包中的其他对象

 

  2011.9技术博客IO包中的其他对象

  1、打印流PrintStream

   PrintStream微笑

 
 


      是一个字节打印流,System.out对应的类型就是PrintStream。

      它的构造函数函数可以接收三种数据类型的值。

  

public class PrintStreamTest {

 

   public static void main(String[] args) throws IOException {

 

      System.out.println((byte)1);

      wirteFile1();

      wirteFile2();

readFile2();

      readFile22();

   }

 

   public static void wirteFile1() throws IOException{

      DataOutputStream dos = new DataOutputStream(new FileOutputStream(new File("res/pst1.txt")));

      dos.writeDouble(3.1415926);

      dos.close();

   }

   2、管道流

PipedInputStream

PipedOutputStream

 

   特点

      读取管道流流和写入管道流可以进行连接。

      连接方式:

      1,通过两个流对象的构造函数。

      2,通过两个对象的connect方法。

 

      通常两个流在使用时,需要加入多线程技术,也就是让读写同时运行。

 

3、序列流,也称为合并流——SequenceInputStream:

   特点:可以将多个读取流合并成一个流。这样操作起来很方便。

   原理:其实就是将每一个读取流对象存储到一个集合中。最后一个流对象结尾作为这个流的结尾。

 

   两个构造函数:

   1,SequenceInputStream(InputStream in1,InputStream in2)

      可以将两个读取流合并成一个流。

   2,SequenceInputStream(Enumeration<? extends InputStream> en)

      可以将枚举中的多个流合并成一个流。

  

   作用:可以用于多个数据的合并。

4、操作数组的流对象

1、操作字节数组

u ByteArrayInputStream

u ByteArrayOutputStream

toByteArray();

toString();

writeTo(OutputStream);

2、操作字符数组。

u CharArrayReader

u CharArrayWriter

3、操作字符串

u StringReader,

StringWriter。

 

 

编码转换:

   字符串   -->字节数组  :编码。通过getBytes(charset);

   字节数组-->字符串 : 解码。通过String类的构造函数完成。String(byte[],charset);

mport java.io.IOException;

import java.io.UnsupportedEncodingException;

 

public class CodeTest {

 

   public static void main(String[] args) throws IOException {

      String s = "你好";

      // 编码。

      byte[] b = s.getBytes("GBK");

     

      System.out.println(new String(b, "GBK"));

 

      // 解码。

      String s1 = new String(b, "iso8859-1");

      System.out.println(s1);// ????

 

      // 想要还原。

      /*

       * 对s1先进行一次解码码表的编码。获取原字节数据。 然后在对原字节数据进行指定编码表的解码。

       */

      byte[] b1 = s1.getBytes("iso8859-1");

      System.out.println(new String(b1, "GBK"));

   }

}

你可能感兴趣的:(2011.9技术博客IO包中的其他对象)