可爱的静静 发表于 2017-8-30 21:07:32

java 笔记Io- 2

本帖最后由 可爱的静静 于 2017-8-30 21:09 编辑

IO流字节流{:10_243:}字符流字节流关系图看后面面面啊啊啊啊 OutStream是FileOutputStream(字节流)的父类FileOutputStream 是BufferedOutputStream(带缓冲的字节流)的父类 OutputStream(抽象类)定义了字节流所有的公用方法常用方法:
voidclose()
    关闭此输出流并释放内存资源
voidflush()
   刷新此输出流并强制写入数据到目的地。
void)]write(byte[] b)
    将 b.length 个字节从指定的字节数组写入此输出流。
void, int, int)]write(byte[] b, int off, int len)
   数组从off开始输入len个字节的数据到目的地
abstractvoidwrite(int b)
      将b个字节写入此输出流。
{:10_243:}FileOutputStream是OutputStream的子类结构方法有:
FileOutputStream(File file)
       以File对象创建FileOutputStream对象         如果文件存在,则覆盖;文件不存在则创建文件
FileOutputStream(String name)
       以文件名及路径创建FileOutputStream对象          当文件存在,则覆盖;文件不存在则创建文件
FileOutputStream(String name, boolean append) 以文件名及路径创建FileOutputStream对象          append为true,则以追加方式写入,为false以非追加方式写入
FileOutputStream(File file, boolean append)
       以File对象创建FileOutputStream对象         append为true,则以追加方式写入,为false以非追加方式写入
I{:10_254:}nputStream (抽象类)定义了所有的字节输入流的方法常用的方法有
intavailable()
            不收阻塞读取估计的剩余字节数
voidclose()
            关闭此输出流并释放内存资源
abstractintread()
      从输入流读取下一个数据字节。
int)]read(byte[] b) 从输入流中读取一定数量的字节并将其存储在缓冲区数组 b 中。
int, int, int)]read(byte[] b, int off, int len)
      将输入流中读取数据存到字节数组,最多len个字节。

{:10_250:}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 因为BufferedOutputStreamnew一个对象的时候参数是OutputStream对象
         所以第一步 是new 一个FileOutputStream对象 ,想要输出的目的地
          2 因为BufferedIntputStreamnew一个对象的时候参数是IntputStream对象
         所以第一步 是new 一个FileIntputStream对象 ,想要复制的路径
         3.利用read()和write()输出到想输出的地方
         
         */
      public static void main(String[] args) {
                // TODO Auto-generated method stub
                try {
                        FileInputStreama = new FileInputStream("D://a//one.png");
                        FileOutputStreamb = new FileOutputStream("E://one.png");
                        BufferedInputStreamin =new BufferedInputStream(a);
                        BufferedOutputStreamout=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();
                }
      }

}


页: [1]
查看完整版本: java 笔记Io- 2