Android-IOストリームのファイル入出力バイトストリームFileInputStream/FileOutputStream

2380 ワード

目次
  • FileInputStream/FileOutputStream--4.1 FileOutputStreamファイル出力ストリーム--4.2 FileInputStreamファイル入力ストリーム--4.3 FileInputStreamとFileOutputStreamを使用して
  • をコピーする.
    4.FileInputStream/FileOutputStream
    4.1 FileOutputStreamファイル出力ストリーム
    1.FileOutputStreamの一般的な構造方法
    public FileOutputStream(File file)
    public FileOutputStream(File file, boolean append) //append true            ,     。
    

    2.重要な方法
    void write(byte[] b)
    void write(byte[] b, int off, int len)
    void write(int b)
    

    3.FileOutputStreamでファイルを書く
    File sdCardDir = Environment.getExternalStorageDirectory();//  SDCard  
    File saveFile = new File(sdCardDir, "a.txt");
    
    FileOutputStream outStream = null;
    try{
       outStream = new FileOutputStream(saveFile);
       outStream.write("test".getBytes());
    }catch (Exception e) {
       e.printStackTrace();
    }finally {
      if(outStream!=null){
         outStream.close();
      }
    }
    

    4.2 FileInputStreamファイル入力ストリーム
  • FileInputStream常用構造方法
  • public FileInputStream(String name)
    public FileInputStream(File file)
    

    2.重要な方法
    public int read() //                 -1
    public int read(byte b[]) //         ,    -1
    public int read(byte b[], int off, int len) //         ,    -1
    

    3.FileInputStreamを使用してファイルを読み込む
    File sdCardDir = Environment.getExternalStorageDirectory();//  SDCard  
    File saveFile = new File(sdCardDir, "a.txt");
    
    FileInputStream fis = null;
    try {
        fis = new FileInputStream(saveFile);
        byte[] buffer = new byte[1024];
        int len = -1;
        StringBuilder sb = new StringBuilder();
        while ((len = fis.read(buffer)) != -1) {
           sb.append(new String(buffer,0,len));
        }
        Log.d("xl", sb.toString());
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        if(fis!=null){
            fis.close();
        }
    }
    

    4.3 FileInputStreamとFileOutputStreamによるコピー
    File dir = Environment.getExternalStorageDirectory();
    File file = new File(dir, "abc.txt");
    File dst = new File(dir, "dst.text");
    
    //    
    FileInputStream fis = new FileInputStream(file);
    FileOutputStream fos = new FileOutputStream(dst);
    int len = -1;
    byte[] buffer = new byte[1024];
    while ((len = fis.read(buffer)) != -1) {
        fos.write(buffer, 0, len);
    }
    fis.close();
    fos.close();