Android開發之SD卡上檔案操作

來源:互聯網
上載者:User

1. 得到存放裝置的目錄:/SDCARD(一般情況下)

SDPATH=Environment.getExternalStorageDirectory()+"/";

2. 判斷SD卡上的檔案夾是否存在:通過File對象的exists()方法。

  /**
   * 判斷檔案是否已經存在;
   *
  /
  public boolean checkFileExists(String filepath) {
         File file=new File(SDPATH+filepath);
         return file.exists();
    }

3.在SD卡上建立目錄:通過File對象的mkdir()方法實現。

  /*
   * 在SD卡上建立目錄;
   */
  public File createDIR(String dirpath) {
    File dir=new File(SDPATH+dirpath);
    dir.mkdir();
    return dir;
}

4.在SD卡上建立檔案:通過File對象的createNewFile()方法實現。
  /*
   * 在SD卡上建立檔案;
   */
     public File createFile(String filepath) throws IOException{
      File file=new File(SDPATH+filepath);
           file.createNewFile();
           return file;
     }

5.將InputStream位元組流寫入到SD卡檔案中
     /**
      * 將一個InputStream中的資料寫入至SD卡中
      */
   public File writeStreamToSDCard(String dirpath,String filename,InputStream input) {
             File file = null;
             OutputStream output=null;
              try {
                  //建立目錄;
                  createDIR(dirpath);
                  //在建立 的目錄上建立檔案;
                  file = createFile(dirpath+filename);
                  output=new FileOutputStream(file);
                  byte[]bt=new byte[4*1024];
                  while (input.read(bt)!=-1) {
                     output.write(bt);
                  }
                //重新整理緩衝,
                  output.flush();
              } catch (IOException e) {
                  e.printStackTrace();
              }
              finally{

                  try{
              output.close();
                  }
          catch (Exception e) {
                     e.printStackTrace();
                  }
              }

             return file;

    }


6. 訪問的許可權:
需在AndroidManifest中加上:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.