您的位置:首页 > 移动开发 > Android开发

android程序中读写文件

2015-09-19 23:09 441 查看

模拟登录界面,具有保存密码的功能

*android中读写文件的路径是固定的,读写文件不需要获取权限,安卓自己机制管理

*全局变量的提取快捷键 ctrl+1

*全局变的初始化最好不要放在功能函数里面

*有保存文件的,读取的时候先判断是否存在,防止第一次登陆什么文件都不存在

*输入输出流的java基础,需要复习

package com.test.rwinram;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
//全局变量
private EditText et_name;
private EditText et_pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//全局变量的初始化,不要放在方法里面
et_name = (EditText) findViewById(R.id.et_name);
et_pass = (EditText) findViewById(R.id.et_pass);

readAccount();

}

public void readAccount() {

File file = new File("data/data/com.test.rwinrom/infor.txt");
//先判断文件存在不存在,如果第一次登陆不存在什么都不做
if (file.exists()) {
try {
FileInputStream fis = new FileInputStream(file);
// 把字节流转换成为字符流
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
// 读取text文件中文件
String text = br.readLine();
String[] s = text.split("##");

et_name.setText(s[0]);
et_pass.setText(s[1]);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
public void login(View v){

String name = et_name.getText().toString();
String pass = et_pass.getText().toString();

CheckBox cb = (CheckBox) findViewById(R.id.cb);
//判断选框是否被勾选
if(cb.isChecked()){
//data/data/com.test.rwinrom这就是内存存储空间的路径
File file = new File("data/data/com.test.rwinrom/infor.txt");
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
fos.write((name+"##"+pass).getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
/*//System.out.println("恭喜你登录成功");
//创建吐司对话框
Toast t = Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT);
//显示吐司对话框
t.show();*/
//创建并显示吐司对话框
Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();
}
}


android提供了一个方法用于获取输出文件的路径

public void readAccount() {

//返回一个File对象,其路径是data/data/com.test.rwinrom/files
File file = new File(getFilesDir(),"info.txt");

//  File file = new File("data/data/com.test.rwinrom/infor.txt");

//返回一个File对象,其路径是data/data/com.test.rwinrom/files
File file = new File(getFilesDir(),"info.txt");
//返回值也是一个file对象,其路径是data/data/com.test.rwinrom/cache
//  File file = new File(getCacheDir(),"info.txt");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  读写文件