阻塞式IO(BIO)
JavaIO那些事
Java最原始的IO是基于阻塞式的,也就是在读取数据的时候,要阻塞当前线程,当所有数据读取完毕后才会被唤醒。Java语言之所以称之为好用,主要原因之一就是Java的IO特别容易理解和使用,并且完全面向对象,还提供了很多很好用的API。Java的IO都是基于流的,都是相应的流对象。最基础的IO流分为字节流和字符流,字节流是面向字节的,可以对字节进行输入与输出,这里指的输入与输出是输入到内存和从内存中输出,字节流包括字节输入流(InputStream)和字节输出流(OutputStream)。字符流是基于处理字符的,可以直接对字符串进行输入与输出,同样是相对于内容而言的。
BIO
BIO最经典的就是文件流IO,FileInputStream文件输入流和FileOutputStream文件输出流。FileInputStream继承自InputStream,很明显FileInputStream是一个字节流,可以从一个文件中读取出字节形式的内容,同样,FileOutputStream文件输出流继承自OutputStream,可以将字节数据输出到一个文件中。
FileOutputStream的构造器有多个,FileOutputStream(String name)是输入一个文件的路径,如果文件不存在就会创建一个,如果存在则会覆盖掉原来的内容。FileOutputStream(String name,boolean append)是输入一个文件的路径,append是选择是否追加内容,如果是true就表示新写入的内容追加到原来的内容后面,如果是false就覆盖掉原来的内容。FileOutputStream(File file)是传入一个文件对象,来获取这个文件的输出流对象,FileOutputStrea