这是一个简单的将文本框里的内容写入指定文件的程序,同时还能读去指定文件名里面的内容
FileService.java实现了读取和写入方法
程序界面截图如下
android读取写入文件
里面的源码是:

package com.daozhao.android;

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

import android.content.Context;

public class FileService {
	private Context context;
	
	public FileService(Context context) {
		this.context = context;
	}
	
	/**
	 * 一私有文件保存内容
	 * @param filename 文件名称
	 * @param content 文件内容
	 * @throws Exception
	 */
	public void save(String filename, String content) throws Exception {
		FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE);
		fos.write(content.getBytes());
		fos.close();
	}
	
	/**
	 * 一读取文件内容
	 * @param filename 文件名称
	 * @param content 文件内容
	 * @throws Exception
	 */
	public String readFile(String filename) throws Exception {
		FileInputStream fis = context.openFileInput(filename);
		byte[] buffer = new byte[1024];
		int len = 0;
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		while((len = fis.read(buffer)) != -1) {
			baos.write(buffer, 0, len);
		}
		byte[] data = baos.toByteArray(); //得到文件的二进制数据
		baos.close();
		fis.close();
		return new String(data);
	}
}

MainActivity.java是主Activity
源代码如下:

package com.daozhao.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.util.Log;
import android.view.*;

public class MainActivity extends Activity {
	private static final String TAG = "MainActivity";
    private FileService fs;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        fs = new FileService(this);
        
        Button button = (Button) this.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				EditText fileName = (EditText) findViewById(R.id.filename);
				EditText fileContent = (EditText) findViewById(R.id.filecontent);
				String filename = fileName.getText().toString();
				String filecontent = fileContent.getText().toString();
				try {
					fs.save(filename,filecontent);
					//输出操作成功的信息
					Toast.makeText(MainActivity.this, R.string.success, 1).show();
				} catch(Exception e) {
					Log.e(TAG, e.toString());
					Toast.makeText(MainActivity.this, R.string.error, 1).show();
				}
			}
        	
        });
        
        
        Button read = (Button) this.findViewById(R.id.read);
        read.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				EditText fileName = (EditText) findViewById(R.id.filename);
				EditText fileContent = (EditText) findViewById(R.id.filecontent);
				String filename = fileName.getText().toString();
				String str = null;
				String filecontent = fileContent.getText().toString();
				try {
					str = fs.readFile(filename);
					fileContent.setText(str);
				} catch(Exception e) {
					Log.e(TAG, e.toString());
					fileContent.setText("");
					Toast.makeText(MainActivity.this, R.string.error, 1).show();
				}
			}
        	
        });
    }
}

随机文章

如何在不用密码的情况下删除360企业版(360天擎)
如何在不用密码的情况下删除360企业版(360天擎)

随机从数据库取n条记录
随机从数据库取n条记录

用java swing画直升飞机
用java swing画直升飞机

鼠标右键添加“新建.java源文件”
鼠标右键添加“新建.java源文件”

新浪发的公告延时严重
新浪发的公告延时严重

相关文章

采用Intel HAXM对模拟器进行加速
采用Intel HAXM对模拟器进行加速

angularjs2会报错“GET http://127.0.0.1/traceur 404 (Not Found)”
angularjs2会报错“GET http://127.0.0.1/traceur 404 (Not Found)”

要多垃圾就有多垃圾的新网
要多垃圾就有多垃圾的新网

Java基础第六讲:流程控制(二)
Java基础第六讲:流程控制(二)

oppo手机通讯录格式 csv 制作
oppo手机通讯录格式 csv 制作

内容分享:道招
本文链接:android读取、写入文件
道招声明:除特别标注或作者不详外,本站所有文章均为原创,转载请注明。欢迎共同关注互联网!