讲解Android应用程序中读写txt文本文件的基本方法

网址简介:未填写

更新时间:10个月前

访问次数:105

详细介绍

文本文件的读写操作通常在平台上使用,Java虚拟机的FrieWrror类可用于处理Android平台上的文本MIME文件,本文是爱站技术频道小编为大家带来的讲解Android中读写txt文本文件的基本方法,一起来学习吧!

讲解Android应用程序中读写txt文本文件的基本方法-第1张图片

最终效果图,点击save会保存到文件中,点击show会从文件中读取出内容并显示。

讲解Android应用程序中读写txt文本文件的基本方法-第2张图片

main.xml

  <?xml version="1.0" encoding="utf-8"?>   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     >   <TextView      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="请您输入要保存的内容:"     />    <EditText     android:id="@+id/addText"     android:layout_width="fill_parent"      android:layout_height="wrap_content"     android:hint="请您在此处输入文件内容!"    />      <Button      android:id="@+id/addButton"     android:layout_width="wrap_content"      android:layout_height="wrap_content"     android:text="save"    />    <Button     android:id="@+id/showButton"     android:layout_width="wrap_content"      android:layout_height="wrap_content"     android:text="show"    />    <TextView     android:id="@+id/showText"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      />       </LinearLayout>     

activity代码

  package cn.com.file;      import java.io.ByteArrayOutputStream;   import java.io.FileInputStream;   import java.io.FileNotFoundException;   import java.io.FileOutputStream;   import java.io.IOException;      import android.app.Activity;   import android.os.Bundle;   import android.view.View;   import android.view.View.OnClickListener;   import android.widget.Button;   import android.widget.EditText;   import android.widget.TextView;   import android.widget.Toast;      public class FileTest extends Activity {     private EditText editText;     private TextView showTextView;     // 要保存的文件名     private String fileName = "chenzheng_java.txt";        @Override     public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.main);       // 获取页面中的组件       editText = (EditText) findViewById(R.id.addText);       showTextView = (TextView) findViewById(R.id.showText);       Button addButton = (Button) this.findViewById(R.id.addButton);       Button showButton = (Button) this.findViewById(R.id.showButton);       // 绑定单击事件       addButton.setOnClickListener(listener);       showButton.setOnClickListener(listener);        }        // 声明监听器     private View.OnClickListener listener = new OnClickListener() {       public void onClick(View v) {         Button view = (Button) v;         switch (view.getId()) {         case R.id.addButton:           save();           break;         case R.id.showButton:           read();           break;            }          }        };        /**      *@author chenzheng_Java      *保存用户输入的内容到文件      */     private void save() {          String content = editText.getText().toString();       try {         /* 根据用户提供的文件名,以及文件的应用模式,打开一个输出流.文件不存系统会为你创建一个的,          * 至于为什么这个地方还有FileNotFoundException抛出,我也比较纳闷。在Context中是这样定义的          *  public abstract FileOutputStream openFileOutput(String name, int mode)          *  throws FileNotFoundException;          * openFileOutput(String name, int mode);          * 第一个参数,代表文件名称,注意这里的文件名称不能包括任何的/或者/这种分隔符,只能是文件名          *     该文件会被保存在/data/data/应用名称/files/chenzheng_java.txt          * 第二个参数,代表文件的操作模式          *     MODE_PRIVATE 私有(只能创建它的应用访问) 重复写入时会文件覆盖          *     MODE_APPEND 私有  重复写入时会在文件的末尾进行追加,而不是覆盖掉原来的文件          *     MODE_WORLD_READABLE 公用 可读          *     MODE_WORLD_WRITEABLE 公用 可读写          * */         FileOutputStream outputStream = openFileOutput(fileName,             Activity.MODE_PRIVATE);         outputStream.write(content.getBytes());         outputStream.flush();         outputStream.close();         Toast.makeText(FileTest.this, "保存成功", Toast.LENGTH_LONG).show();       } catch (FileNotFoundException e) {         e.printStackTrace();       } catch (IOException e) {         e.printStackTrace();       }        }        /**      * @author chenzheng_java      * 读取刚才用户保存的内容      */     private void read() {       try {         FileInputStream inputStream = this.openFileInput(fileName);         byte[] bytes = new byte[1024];         ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();         while (inputStream.read(bytes) != -1) {           arrayOutputStream.write(bytes, 0, bytes.length);         }         inputStream.close();         arrayOutputStream.close();         String content = new String(arrayOutputStream.toByteArray());         showTextView.setText(content);          } catch (FileNotFoundException e) {         e.printStackTrace();       } catch (IOException e) {         e.printStackTrace();       }        }      }     

其他的都为默认。

关于文件保存的路径可以通过ADT携带的File Explorer工具进行查看。如何调出File Explorer工具呢;我们可以通过Windows--showView--others-android下面看到File Explorer。这里是我的一个截图。

讲解Android应用程序中读写txt文本文件的基本方法-第3张图片

对于本文介绍的讲解Android应用程序中读写txt文本文件的基本方法,基本上没有困难,也就是Java流的纯知识。唯一的区别是上下文为我们提供了两种获取输入和输出流的方法。

请发表您的评论