马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 可爱的静静 于 2017-8-30 21:09 编辑
IO流 字节流 字符流字节流关系图看后面面面啊啊啊啊 OutStream是FileOutputStream(字节流)的父类 FileOutputStream 是BufferedOutputStream(带缓冲的字节流)的父类 OutputStream(抽象类)定义了字节流所有的公用方法 常用方法: void | | void | flush()
刷新此输出流并强制写入数据到目的地。 | void | [url=mk:@MSITStore:I:\java\JAVA5.0API_CN.CHM::/java/io/OutputStream.html#write(byte[])]write[/url](byte[] b)
将 b.length 个字节从指定的字节数组写入此输出流。 | void | [url=mk:@MSITStore:I:\java\JAVA5.0API_CN.CHM::/java/io/OutputStream.html#write(byte[], int, int)]write[/url](byte[] b, int off, int len)
数组从off开始 输入len个字节的数据到目的地 | abstract void | write(int b)
将b个字节写入此输出流。 |
FileOutputStream是OutputStream的子类结构方法有: 如果文件存在,则覆盖;文件不存在则创建文件 | | 当文件存在,则覆盖;文件不存在则创建文件 | | 以文件名及路径创建FileOutputStream对象 append为true,则以追加方式写入, 为false以非追加方式写入 | | append为true,则以追加方式写入,为false以非追加方式写入 | |
I nputStream (抽象类)定义了所有的字节输入流的方法 常用的方法有 int | | void | | abstract int | | int | [url=mk:@MSITStore:I:\java\JAVA5.0API_CN.CHM::/java/io/InputStream.html#read(byte[])]read[/url](byte[] b) 从输入流中读取一定数量的字节并将其存储在缓冲区数组 b 中。 | int | [url=mk:@MSITStore:I:\java\JAVA5.0API_CN.CHM::/java/io/InputStream.html#read(byte[], int, int)]read[/url](byte[] b, int off, int len)
将输入流中读取数据存到字节数组,最多len个字节。 | | | | |
FInputStraem是InputStream的子类 BufferedOutputStream(带有缓冲)和BufferedInputStream(带有缓冲)分别是FileOutputStream、FInputStraem的子类 结构方法是: BufferedOutputStream结构方法: new一个对象的时候必须有字节流(OutputStream)的对象 OutputStream这个是个抽象类new不了对象 可以是它的子类做参数 经典例子: BufferedOutputStream bin=new BufferedOutputStream( newOutputStream (out.txt)) BufferedInputStream结构方法是: new一个对象的时候必须有字节流(InputStream)的对象 InputStream这个是个抽象类new不了对象 可以是它的子类做参数 经典例子: BufferedInputStream bre=new BufferedInputStream( new InputStream(int.txt)) BufferedInputStream和BufferedOutputStream 代码例子: 假设D盘有一张图片教做one.png 想把这个图片复制到E盘 代码如下:
- import java.io.*;
- public class out{
- /*
- 1 因为BufferedOutputStream new一个对象的时候参数是OutputStream对象
- 所以第一步 是new 一个FileOutputStream对象 ,想要输出的目的地
- 2 因为BufferedIntputStream new一个对象的时候参数是IntputStream对象
- 所以第一步 是new 一个FileIntputStream对象 ,想要复制的路径
- 3.利用read()和write()输出到想输出的地方
-
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- try {
- FileInputStream a = new FileInputStream("D://a//one.png");
- FileOutputStream b = new FileOutputStream("E://one.png");
- BufferedInputStream in =new BufferedInputStream(a);
- BufferedOutputStream out=new BufferedOutputStream(b);
- int re;
- while((re=in.read())!=-1){
- out.write(re);
- }
- out.close();
- in.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
复制代码
|