第十周课程总结

第十周课程总结

 

一、字节流与字符流
       字节流
       字符流
        区别

二、输出流
      OutputStreamWriter类
      InputStreamReader类

三、管道流
      输出流(PipeOutputStream)
      输入流(PipedInputStream)

四、打印流
      
五、System类对IO的支持
      System.out
      System.err
      System.in

 

.字节流与字符流
        (1)字节流

字节流主要操作byte类型数据,以byte数组为主,主要操作类就是OutputStream类和InputStream类。


        (2)字符流

Java提供了Reader和Write两个专门操作字符流的类


        (3)区别

二、转换流

OutputStreamWriter类:Writer的子类,将输出的字符流变成字节流,即将一个字符流的输出对象变为字节流的输出对象。

InputStreamReader类:Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象。

(1)OutputStreamWriter

  构造方法

public OutputStreamWriter(OutputStream out)
File f = new File(地址);
Writer out = null;
out = new OUtputStreamWriter(new FileOutputStream(fa));
out.Writer(内容);
out.close();

(2)InputStreamReader

.......
File f = new File(地址);
Reader reader = null;
reader = new InputStreamReader(new FileInputStream(f));
char c[] = new char[1024];
int len = reader.read(c);
reader.close();
.......

三、管道流

管道流的主要作用是可以进行两个线程间的通信。

先定义一个管道输入流PipedInputStream对象和管道输出流PipedOutputStream对象,然后将他们关联起来,建立了一条”管道”。

使用conect()方法进行连接

PipeOutputStream输出方法:

void write(byte[] b, int off, int len) 
         // 将 len 字节从初始偏移量为 off 的指定 byte 数组写入该管道输出流。 
PipeInputStream输入方法:读取文件的方法

//将连接的PipeOutputStream对象实例的输入流的数据,通过read方法,把内容读取到数组中。

 int read(byte[] b, int off, int len) 
          //将最多 len 个数据字节从此管道输入流读入 byte 数组。 

四、打印流

(1)基本操作

在整个IO包中,打印流是输出信息最方便的类,主要包括字节打印流(PrintStream)和字符打印流(PrintWriter),可以打印任何数据类型,如小数,整数,字符串等。

使用PrintStream输出

......
PrintStream ps = null;
ps = new PrintStream(new FileOutputStream(newFile(地址)));
ps.print(内容);
ps.close();

五、System类对IO的支持     

(1)System.out

     System.out是PrintStream的对象,在PrintStream中定义了一系列的print()方法和println()方法。


(2)System.err

      System.err表示的是错误信息的输出,如果程序出现错误,则可以直接使用System.err进行打印。


(3)System.in

System.in实际上是一个键盘的输入流,其本身是InputStream类型的对象,可以利用此方法从键盘读取数据。

.......
InputStream input = System.in;
byte b[] = new byte[1024];
int len = input.read(b);
......
原文地址:https://www.cnblogs.com/xu23/p/11777566.html