android 将byte[]保存到手机
生活随笔
收集整理的這篇文章主要介紹了
android 将byte[]保存到手机
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天,講講如何把程序的byte[]保存到手機,并且作為文件可以讀取。
package com.example.edittextresearch;import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException;import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initData();// 假設這是從服務器上獲取的數據,或者其他的什么地方獲取到的。byte[] bytes = "hello world".getBytes();// 根據byte數組生成文件,保存到手機上createFileWithByte(bytes);// 彈出信息提示Toast.makeText(MainActivity.this, "生成文件成功!", Toast.LENGTH_LONG).show();}private String fileName;// 文件命名private void initData() {// TODO Auto-generated method stubfileName = "byte_to_file.doc";}/*** 根據byte數組生成文件* * @param bytes* 生成文件用到的byte數組*/private void createFileWithByte(byte[] bytes) {// TODO Auto-generated method stub/*** 創建File對象,其中包含文件所在的目錄以及文件的命名*/File file = new File(Environment.getExternalStorageDirectory(),fileName);// 創建FileOutputStream對象FileOutputStream outputStream = null;// 創建BufferedOutputStream對象BufferedOutputStream bufferedOutputStream = null;try {// 如果文件存在則刪除if (file.exists()) {file.delete();}// 在文件系統中根據路徑創建一個新的空文件file.createNewFile();// 獲取FileOutputStream對象outputStream = new FileOutputStream(file);// 獲取BufferedOutputStream對象bufferedOutputStream = new BufferedOutputStream(outputStream);// 往文件所在的緩沖輸出流中寫byte數據bufferedOutputStream.write(bytes);// 刷出緩沖輸出流,該步很關鍵,要是不執行flush()方法,那么文件的內容是空的。bufferedOutputStream.flush();} catch (Exception e) {// 打印異常信息e.printStackTrace();} finally {// 關閉創建的流對象if (outputStream != null) {try {outputStream.close();} catch (IOException e) {e.printStackTrace();}}if (bufferedOutputStream != null) {try {bufferedOutputStream.close();} catch (Exception e2) {e2.printStackTrace();}}}}}
我在代碼中都加了注釋,大家看起來也很簡單。大概講講:
- 首先需要獲取byte類型數組數據,這里我是用的假設的數據,實際中大家發送網絡請求獲取即可;
- 數據拿到后就可以將其寫到文件緩沖輸出流中,然后調用flush()方法刷出流對象,這樣文件里面就有內容了。
> 文件存到手機上的圖片如下所示:
其實就是把byte[]通過輸入流寫入到手機,我之前也寫過文件復制的博客,和這個功能是類似的。
android 將byte[]保存到手機就講完了。
就這么簡單。
總結
以上是生活随笔為你收集整理的android 将byte[]保存到手机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 如何在线程缓存实体类
- 下一篇: android 读取assets文件夹下