在内部存储写文件

在Android中读写文件

手机的存储结构:
  • RAM:运行内存,相当于电脑的内存
  • ROM:内部存储空间,相当于电脑的硬盘
  • SD存储卡:外部存储空间,相当于电脑的移动硬盘
    内部存储路径

  • 所有安装至手机的应用都会在data/data目录下生成一个包名文件夹,这个文件夹就是内部存储的路径(内部存储不用权限)。
    示例代码如下(XML文件省略,这个将登陆信息写到文件中)

package com.linsen.writefile;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.os.Build;

public class MainActivity extends Activity {
    EditText et_username;    //定义用户名
    EditText et_password;    //定义密码
    CheckBox cb_remember;    //定义文本框
    Button bt_login;         //定义登录按钮
    FileOutputStream fos;    //定义输出流

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_writefile);
        et_username = (EditText) findViewById(R.id.et_username);
        et_password = (EditText) findViewById(R.id.et_password);
        bt_login = (Button) findViewById(R.id.bt_login);

        //点击登录按钮,登录事件
        bt_login.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                 //获取到用户名和密码
                String username = et_username.getText().toString();
                String password = et_password.getText().toString();

                cb_remember = (CheckBox) findViewById(R.id.cb_remember);
                //如果文本框被选中,保存用户名和密码
                if(cb_remember.isChecked()){
                    File file = new File("data/data/com.linsen.writefile/userinfo.txt");
                    try {
                        fos = new FileOutputStream(file);
                        fos.write((username + "&&" + password).getBytes());
                    } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }finally{
                        try {
                            if(fos != null){
                                fos.close();
                                fos = null;
                            }
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }
                }

            }
        });      
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值