真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android開發(fā)中如何實(shí)現(xiàn)操作文件

今天就跟大家聊聊有關(guān)Android 開發(fā)中如何實(shí)現(xiàn)操作文件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)專注于綦江企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。綦江網(wǎng)站建設(shè)公司,為綦江等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

 Android 文件操作詳解

Android 的文件操作說白了就是Java的文件操作的處理。所以如果對Java的io文件操作比較熟悉的話,android的文件操作就是小菜一碟了。好了,話不多說,開始今天的正題吧。

先從一個小項(xiàng)目入門吧

首先是一個布局文件,這一點(diǎn)比較的簡單,那就直接上代碼吧。



  
  
  
  
  

然后是我們的主界面的Java文件了。繼續(xù)上代碼

package com.mark.storage;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.mark.service.FileService;


public class MainActivity extends Activity {

  private EditText mEt_filename,mEt_filecontent;
  private Button mBtn_save;

  private void init(){
    mEt_filecontent = (EditText) findViewById(R.id.et_filecontent);
    mEt_filename = (EditText) findViewById(R.id.et_filename);
    mBtn_save = (Button) findViewById(R.id.btn_save);
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    init();
  }

  /**
   * 保存數(shù)據(jù)到一個文件中
   * @param view
   */
  public void toSave(View view) {
    String fileName = mEt_filename.getText().toString();
    String fileContent = mEt_filecontent.getText().toString();
    FileService service = new FileService(getApplicationContext());
    boolean isSucceed = service.save(fileName, fileContent);
    if(isSucceed){
      Toast.makeText(getApplicationContext(), "恭喜您保存文件成功!", Toast.LENGTH_SHORT).show();
    }else{
      Toast.makeText(getApplicationContext(), "對不起,您保存文件失??!", Toast.LENGTH_SHORT).show();
    }
  }

  public void getFile(View view){
    String fileName = mEt_filename.getText().toString();

    FileService service = new FileService(getApplicationContext());
    String fileContent = service.getFile(fileName);
    if(fileContent!=null || !fileContent.equals("")) {
      mEt_filecontent.setText(fileContent);
    }else{
      Toast.makeText(getApplicationContext(), "對不起,讀取文件失??!", Toast.LENGTH_SHORT).show();
    }


  }


}

是不是感覺里面的代碼有點(diǎn)奇怪呢?FileService是什么鬼?

其實(shí)FileService就是我們的業(yè)務(wù)類,主要的功能就是幫助我們實(shí)現(xiàn)了對文件的保存和讀取等操作。下面也貼出代碼

package com.mark.service;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.content.Context;

public class FileService {

  //android自帶的可以快速獲得文件輸出流的一個類,注意參數(shù)不能是路徑,只能是文件名稱
  private Context mContext;

  public FileService(Context context) {
    this.mContext = context;
  }

  /**
   * 保存文件的一個方法
   * @param fileName
   * @param fileContent
   * @return
   */
  public boolean save(String fileName, String fileContent) {
    try {
      //采用Context.MODE_PRIVATE模式的話,只允許本應(yīng)用訪問此文件,并且熟覆蓋式的添加數(shù)據(jù)
      FileOutputStream fos = mContext.openFileOutput(fileName, Context.MODE_PRIVATE);
      fos.write(fileContent.getBytes());
      fos.close();
      return true;
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }

  }

  /**
   * 獲得之前保存過的文件的詳細(xì)的信息
   * @param fileName
   * @return
   */
  public String getFile(String fileName) {
    String fileContent = "";
    try{

      FileInputStream fis = mContext.openFileInput(fileName);
      byte[] buf = new byte[1024];
      int len;
      ByteArrayOutputStream bais = new ByteArrayOutputStream();
      while((len = fis.read(buf))!= -1){
        bais.write(buf, 0, len);
      }
      byte[] data = bais.toByteArray();
      fileContent = new String(data);
      fis.close();
      return fileContent;
    }catch(Exception e){
      e.printStackTrace();
      return "對不起,讀取文件失??!";
    }

  }


}

業(yè)務(wù)類的分析

現(xiàn)在開始進(jìn)入正題咯。這個小項(xiàng)目的核心就在于這個業(yè)務(wù)類,原因如下:

  1. Context:Android自帶的上下文類,方便獲得file流對象
  2. 讀文件方法中使用到了ByteArrayOutputStream類,這一點(diǎn)是很重要的,如果只是單純的使用字符串來讀取存儲的文件的話,就會因?yàn)樾蛄谢膯栴}而出現(xiàn)不了目標(biāo)數(shù)據(jù)。
  3. 使用了返回值來對操作的結(jié)果進(jìn)行了“反饋”,方便為用戶提供友好的界面和使用體驗(yàn)。

看完上述內(nèi)容,你們對Android 開發(fā)中如何實(shí)現(xiàn)操作文件有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


分享文章:Android開發(fā)中如何實(shí)現(xiàn)操作文件
瀏覽路徑:http://weahome.cn/article/gciepp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部