------- android培训、java培训、期待与您交流! ----------
今天看了黑马基础的一些视频,感觉毕老师讲的挺细也很深入,让我一看就知道了,我之前也看过别人的视频,但是没看懂,毕老师讲的就不一样,让我知道了什么叫“知其然知其所以然”。
关于文件的复制,java中有个复制文件的叫做IO,IO 分为字节输入流(InputStream)、字节输出流(OutputStream)和字符读取流(Reader)、字符读取流(Writer),字符流是基于字节流的,文件的复制是得先创建目的地文件,其次读取源文件并写入字符流,然后刷新也就是把字符流写入目的地文件。下面我来详细介绍一下:他们都是位于java.Io包中的类。
- InputStream是个抽象类表示字节输入流,它有读取字节的方法read(),如果读到最后一个字节则返回-1;close()就是关闭此输入流并释放与此流有关的所有系统资源。
- OutputStream是表示输出字节流的,输出流接受输出字节并将这些字节发送到某个接收器,需要定义
OutputStream
子类的应用程序必须始终提供至少一种可写入一个输出字节的方法,它有个写字节的方法Write(byte[ ] b)将b.length个字节从指定的byte数组写入此输出流;flush()是刷新此输出流并强制写出所有缓冲的输出字节。close()就是关闭此输出流并释放与此流有关的所有系统资源。 - Reader也是个抽象类表示读取字符流。read()表示读取单个字符。read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。close()关闭该流并释放与之关联的所有资源。
- Writer表示写入字符流的抽象类。write(char[] cbuf, int off, int len) 写入字符数组的某一部分。write(String str)写入字符串。write(String str, int off, int len)写入字符串的某一部分。close()关闭此流,但要先刷新它。flush()刷新该流的缓冲。
以上介绍都是这4个基类当中一些常用的方法,对照它的API文档,然后再多练练,写一些最基本的IO是没有问题的。