Android文件操作
生活随笔
收集整理的這篇文章主要介紹了
Android文件操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一步:前臺頁面main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/fileName" /><EditTextandroid:id="@+id/txtName"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint=""android:maxLines="1" /><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/fileContext" /><EditTextandroid:id="@+id/txtContext"android:layout_width="fill_parent"android:layout_height="100dp"android:gravity="left"android:hint=""android:minLines="4" /><Buttonandroid:id="@+id/btnSave"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/btnSave" /></LinearLayout>第二步:后臺代碼
package apk.example.androidapk;import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import android.app.Activity; import apk.example.service.FileServer;public class MainActivity extends Activity {public Button btnSave;public EditText txtName, txtContext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);txtName = (EditText) findViewById(R.id.txtName);txtContext = (EditText) findViewById(R.id.txtContext);btnSave = (Button) findViewById(R.id.btnSave);btnSave.setOnClickListener(new BtnSaveListener());}private final class BtnSaveListener implements View.OnClickListener {@Overridepublic void onClick(View v) {String fileName = txtName.getText().toString();String fileContext = txtContext.getText().toString();FileServer server = new FileServer(getApplicationContext());try {if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {server.saveToSDCard(fileName, fileContext);// 保存成功 Toast.makeText(getApplicationContext(), R.string.success,Toast.LENGTH_LONG).show();} else {// SDCard不存在或者寫保護 Toast.makeText(getApplicationContext(),R.string.sdCardMessage, Toast.LENGTH_LONG).show();}} catch (Exception e) {// 保存失敗 Toast.makeText(getApplicationContext(), R.string.fail,Toast.LENGTH_LONG).show();e.printStackTrace();}}} } package apk.example.service;import java.io.File; import java.io.FileOutputStream;import android.content.Context; import android.os.Environment;public class FileServer {private Context context;public FileServer(Context context) {this.context = context;}/*** * @param 文件名稱* @param 文件內容* @throws 異常信息*/public void save(String fileName, String fileContext) throws Exception {// 私有操作模式:創建出來的文件只能被本應用訪問,其它應用無法訪問該文件,另外采用私有操作模式創建的文件,寫入文件中的內容會覆蓋原文件的內容FileOutputStream outStream = context.openFileOutput(fileName,Context.MODE_PRIVATE);outStream.write(fileContext.getBytes());outStream.close();}/*** * @param 文件名稱* @param 文件內容* @throws 異常信息*/public void saveToSDCard(String fileName, String context) throws Exception {// 私有操作模式:創建出來的文件只能被本應用訪問,其它應用無法訪問該文件,另外采用私有操作模式創建的文件,寫入文件中的內容會覆蓋原文件的內容File file = new File(Environment.getExternalStorageDirectory(),fileName);FileOutputStream outStream = new FileOutputStream(file);outStream.write(context.getBytes());outStream.close();} }如圖:
注:在AndroidManifest.xml文件中添加下列權限。
??? <!-- 在SDCard中創建與刪除文件權限 -->
??? <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
??? <!-- 往SDCard寫入數據權限 -->
??? <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
?
轉載于:https://www.cnblogs.com/xiaoyao095/p/4071013.html
總結
以上是生活随笔為你收集整理的Android文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。