1. 程式人生 > >android 文件存儲

android 文件存儲

私有 static nal xtend click getpath Coding lns context

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

package net.bwie.localdata.activity;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import net.bwie.localdata.R; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader;
public class FileActivity extends AppCompatActivity implements View.OnClickListener { protected Button mReadFileBtn; protected Button mWriteFileBtn; protected TextView mResultTv; public static void startActivity(Context context) { context.startActivity(new Intent(context, FileActivity.class
)); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.activity_file); initView(); } @Override public void onClick(View view) { if (view.getId() == R.id.read_file_btn) { String result = readFile(); mResultTv.setText(result); } else if (view.getId() == R.id.write_file_btn) { writeFile(); } } // 讀取文件 private String readFile() { String filePath = Environment.getExternalStorageDirectory().getPath() + "/abc/"; String fileName = "xyz.txt"; File file = new File(filePath, fileName); BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String result = ""; String line = ""; while ((line = br.readLine()) != null) { result += line; } return result; } catch (Exception e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } return null; } // 寫入文件 private void writeFile() { // 外部存儲私有路徑:Android文件夾 // String privatePath = getExternalFilesDir(null).getPath();// 私有路徑不分類為null // String filePath = privatePath + "/abc/"; // 外部存儲公共路徑:DICM,DOWNLOAD,MUSIC等系統提供的文件夾 // String publicPath = Environment // .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) // .getPath(); // String filePath = publicPath + "/abc/"; // 自定義文件路徑 String rootPath = Environment.getExternalStorageDirectory().getPath();// 外部存儲路徑(根目錄) String filePath = rootPath + "/abc/"; String fileName = "xyz.txt"; File file = new File(filePath, fileName); FileOutputStream fos = null; try { fos = new FileOutputStream(file); fos.write("asdasdas".getBytes()); Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Log.d("1507", "error: " + e.getMessage()); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } private void initView() { mReadFileBtn = (Button) findViewById(R.id.read_file_btn); mReadFileBtn.setOnClickListener(FileActivity.this); mWriteFileBtn = (Button) findViewById(R.id.write_file_btn); mWriteFileBtn.setOnClickListener(FileActivity.this); mResultTv = (TextView) findViewById(R.id.result_tv); } }

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="net.bwie.localdata.activity.FileActivity">

    <Button
        android:id="@+id/read_file_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="讀取文件"/>

    <Button
        android:id="@+id/write_file_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="寫入文件"/>

    <TextView
        android:id="@+id/result_tv"
        android:text="結果"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

  

android 文件存儲