【File】简单的文本读写context.openFileInput() context.openFileOutput()
来源:互联网 发布:数据分析师行业前景 编辑:程序博客网 时间:2024/05/16 11:42
http://blog.csdn.net/chenzheng_java/article/details/6214261
最终效果图,点击save会保存到文件中,点击show会从文件中读取出内容并显示。
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。这里是我的一个截图。
对于这个程序,基本上没什么难点,就是纯粹的java流知识。唯一不同的就是context为我们提供了两个方法来获取输入输出流。简单、方便、快捷啊。
0 0
- 【File】简单的文本读写context.openFileInput() context.openFileOutput()
- android文件的写入与读取---简单的文本读写context.openFileInput() context.openFileOutput()
- android文件的写入与读取---简单的文本读写context.openFileInput() context.openFileOutput()
- android文件的写入与读取---简单的文本读写context.openFileInput() context.openFileOutput()
- 读写内部存储的文件数openFileOutput(),openFileInput()
- android context提供的openFileInput()方法
- Context类中openFileOutput ()函数的使用
- Context类中openFileOutput ()函数的使用
- Context类中openFileOutput ()函数的使用
- Context类中openFileOutput ()函数的使用
- Context类中openFileOutput ()函数的使用
- Context类中openFileOutput ()函数的使用
- Context类中openFileOutput ()函数的使用
- android context类提供的openFileOutput()方法
- Context类中openFileOutput ()函数的使用
- context.openFileoutput及文件存储,删除,读取简单用法
- 使用openFileInput和openfileOutput方法读写应用程序数据文件夹下的文件
- Android下openfileoutput和openfileinput的使用
- 进程调度 简介
- 通过反射创建新类示例的两种方式及比较
- 设计模式之6大原则
- Win7部署SharePoint后,管理中心不能新建Web应用程序
- php解析doc格式word文件的另一种方法
- 【File】简单的文本读写context.openFileInput() context.openFileOutput()
- MAC 安装CocoaPods简易教程
- 皇后娘娘居然没有怪罪,他也就省了口舌
- magento创建表与更新
- 微软Build大会发啥?一定有Win8.1升级版
- Unity3D入门: 贴两个材质玩玩
- IPv4地址(一)
- c3p0详细配置
- Linux 下计时方式