第十周课程总结

第十周课程总结

Java I/O:

在IO中涉及的设备文件包括文件、控制台、网络链接等,这其中又根据流的方向可以将两端的设备文件分为数据源对象和接收端对象:
数据源对象:有能力产出数据
接收端对象:有能力接收数据
而IO流实际上屏蔽了在实际设备中的处理数据的细节,这些处理方式也叫通信方式可以包括顺序、随机存取、缓冲、二进制、按字符、按字节、按行等。

一、io流的三种分类方式

1.按流的方向分为:输入流和输出流

2.按流的数据单位不同分为:字节流和字符流

3.按流的功能不同分为:节点流和处理流

 

三.字节流与字符流

一.操作主要方法

(1)使用File类打开一个文件

(2)通过字节流或字符流的子类指定输出的位置

(3)进行读/写操作

(4)关闭输入/输出

 

outputString类常用方法

方法或常量 类型 描述
public void close() throws IOException 普通 关闭输出流
public void flush() throws IOException 普通 刷新缓存区
public void write(byte[] b)throws IOException 普通 将一个byte数组写入数据流

public void write(byte[] b,int off,int len throws)

IOException

普通 j将一个指定范围的byte数组写入数据流
public abstract void write(int b)throws IOException  普通 将一个字节流数据写数据流

 

 

 

 

 

 

InputStream类常用方法

方法或常量 类型 描述
public void available() throws IOException 普通 可以取得输入文件的大小
public void close() throws IOException 普通 关闭输入流
public abstract int read() throws IOException 普通 读取内容,以数字的方式读取
public int read(byte[] b)throws IOException 普通 将内容读到byte数组之中,同时返回读入的个数

 

 

 

 

write类的操作方法

方法或常量 类型 描述
public abstract void close() throws IOException 普通 关闭输出流
public void write (String str)throws IOException 普通 将字符串输出
public void write (char[] cbuf)throws IOException 普通 将字符数组输出
public abstract void flush() throws IOException 普通 强制性清空缓存

 

 

 

 

Reader类的常用方法

方法或常量 类型 描述
public abstract void close() throws IOException 普通 关闭输出流
public int read() throws IOException 普通 读取单个字符
public int read(char[] cbuf)throws IOException 普通 将内容读到字符数组之中,返回读入的长度

 

 

 

 

 

管道流:

管道流的主要作用是可以进行两个线程间的通讯,分为管道输入流(PipeOutputStream)和管道输出流(PipeInputStream)。
如果要想进行管道输出,则必须把输出流连在输入流之上,在PipeOutputStream上有如下方法用于连接管道。

 void connect(PipedInputStream snk) 
          将此管道输出流连接到接收者。 

要想连接输入和输出,必须使用此方法、
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 数组。 

打印流:

打印流只能是输出流:
PrintStream: 字节打印流
PrintWriter: 字符打印流
-对于PrintWriter来说,当启用字段刷新之后,
调用println或者printf或者format方法,便会立马刷新操作(自动刷新).
如果没有开启自动刷新,则需要手动刷新或者当缓冲区满的时候,再自动刷新.(或直接调用close()方法,会自动刷新)

System类:

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。

标准输入输出, 如out、in、err
外部定义的属性和环境变量的访问,如getenv()/setenv()和getProperties()/setProperties()
加载文件和类库的方法,如load()和loadLibrary()、
快速拷贝数组的方法:arraycopy()
jvm操作:如gc()、runFinalization()、exit(),该部分并未在源码的java doc中提到,可能因为本身不建议主动调用吧。而且这几个方法都仅仅是Runtime.getRuntime()的调用,两者没有区别
获取时间方法:System.nanoTime 和 System.currentTimeMillis
posted @ 2019-11-03 16:27  宋逸豪  阅读(169)  评论(0编辑  收藏  举报