一、从文件中读

1、首先利用openFileInput()方法,创建一个FileInputStream
FileInputStream fileInputStream=openFileInput("user.txt")
2、利用fileInputStream.available()方法检测已经打开的文件的二进制数据流最大值,用于创建数组
byte[] bytes=new byte[fileInputStream.available()]
3、把读到的信息存储进数组
fileInputStream.read(bytes)
4、关闭文件
fileInputStream.close()

二、向文件中写

1、利用openFileOutput方法,创建一个FileOutputStream
FileOutputStream fileOutputStream=openFileOutput("user.txt",MODE_APPEND)
参数MODE_APPEND表示在文件内原有内容的后面继续写
参数MODE_PRIVATE表示删除文件内原有内容重新写
2、剩下的工作就是把准备好的二进制文件利用fileOutputStream.write()方法写进文件,写完之后把文件关闭。
public class MainActivity extends AppCompatActivity implements View.OnClickListener {Button button1,button2;EditText editText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1=findViewById(R.id.button1);button2=findViewById(R.id.button2);editText=findViewById(R.id.editTextTextPersonName);button1.setOnClickListener(this);button2.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()){//button1 向文件中写case R.id.button1:try {FileOutputStream fileOutputStream=openFileOutput("user.txt",MODE_APPEND);String content=editText.getText().toString().trim();fileOutputStream.write(content.getBytes());fileOutputStream.close();}catch (Exception e){e.printStackTrace();}break;//button2 从文件中读case R.id.button2:try {FileInputStream fileInputStream=openFileInput("user.txt");byte[] bytes=new byte[fileInputStream.available()];fileInputStream.read(bytes);String content=new String(bytes);Log.i("fis",content);fileInputStream.close();}catch (Exception e){e.printStackTrace();}break;}}
}

三、SharedPreferences适合小规模存取(一套用户名和密码)

package com.example.sharedpreferences;import androidx.appcompat.app.AppCompatActivity;import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;import java.util.Locale;public class MainActivity extends AppCompatActivity implements View.OnClickListener {Button button1,button2;EditText editText;SharedPreferences sharedPreferences;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1=findViewById(R.id.button1);button2=findViewById(R.id.button2);editText=findViewById(R.id.editText1);sharedPreferences=getSharedPreferences("A_FileName",MODE_PRIVATE);button1.setOnClickListener(this);button2.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.button1:SharedPreferences.Editor editor=sharedPreferences.edit();editor.putString("name",editText.getText().toString().trim());editor.commit();break;case R.id.button2:String username=sharedPreferences.getString("name","N/A");editText.setText(username);break;}}
}

Android Studio 文件读取、存储小记相关推荐

  1. android studio文件内部存储,Android Studio使用内部存储上的文件创建diconary

    即时通讯工具正在Android的Notes应用程序中使用. 问题:我不知道如何保存txt.我的内部存储上的应用程序文件.我已经用外部存储编码了它.这里是我的代码(MainActivity.java)A ...

  2. Android studio文件定位

    我们在开发Android studio APP的时候,随着项目的越来越大,文件越来越多,而且Android studio RES文件管理最大的缺陷就是文件不能按照自己的风格分类,只能按安卓自带的风格分 ...

  3. android studio文件存储路径,配置Android Studio的缓存文件路径(释放你的C盘)

    Android Studio默认安装完后会在C:\Users\YourName.xxx 缓存一些数据,有限的C盘很容易爆增. 如果你的C盘也像我这样捉襟见肘,或者你是处女座的,那么请看完本文,结果会让 ...

  4. android studio文件风格,Android Studio构建风格 – 如何拥有不同风格的相同源文件

    我需要在android studio中为应用程序创建一个演示风格.在我的应用程序级gradle文件中,我创建了另一种名为demo的风格,当然还有默认的风味.它看起来像这样: apply plugin: ...

  5. Android 图片文件读取

    Android中图片的读取,修改,显示和保存涉及到的类大致如图所示. 在读取图片文件时,先将图片文件转换为InputStream对象,然后通过BitmapFactory将其转换为Bitmap对象. 在 ...

  6. 7天学习Go语言-尾声+一次险些翻车的任意文件读取漏洞小记

    接口 接口的定义 接口(interface )类型是对其他类型行为的概括和抽象,接口类型定义了一组方法,但是不包括这些方法的具体实现 接口本质是一种指针类型,可以实现多态功能.如果一个类型实现了某个接 ...

  7. android studio 文件夹改名后 比如 example 改成demo 出现Cannot resolve symbol ‘R

    今天在调试的时候,Android Studio 报了一个莫名其妙的错误Cannot resolve symbol 'R'让人不知所措.因为这东西根本不归我管啊,怎么会出现 Cannot resolve ...

  8. Android之文件数据存储

    一.文件保存数据介绍 Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的.文件可用来存放大量数据,如文本.图 ...

  9. Android Studio NFC读取CPU卡信息

    今天接到一个NFC读CPU卡的需求,做个总结. 总结之前,吐槽一下,一定要查一下测试机支不支持NFC功能,我拿乐视S3开发了一上午,以为哪里出了BUG或者权限没加,查了无数资料,下了十几个demo,死 ...

最新文章

  1. 2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉
  2. 外国人无知嘲笑,中国人的回答让他们目瞪口呆!
  3. android Spinner点击事件处理
  4. 超详细Pycharm部署项目视频教程
  5. 在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文
  6. DVWA设置mysql_解决DVWA配置报错
  7. JavaScript JSON操作
  8. android 跳转动画黑屏,Android8.0 适配解决页面跳转过程出现短暂黑屏的问题
  9. django的动态url,url里含有参数,含有参数的url
  10. 别样的1024程序员节“无Bug市集”
  11. apropos linux
  12. matlab中极点留数法,用MATLAB求留数.pdf
  13. 一分钟内搞定!熊猫杀毒软件研发提升扫描速度的技术
  14. 茅台抢购脚本golang版本使用教程
  15. 【车牌识别】基于模板匹配实现车牌识别含Matlab源码
  16. 手机Camera理论
  17. matlab对稀疏矩阵求特征值,使用ARPACK查找稀疏矩阵的特征向量和特征值(称为PYTHON,MATLAB或FORTRAN子例程)...
  18. 苹果X屏黑了-苹果x屏幕黑屏也无法开机怎么回事?
  19. 安装cartographer出现的问题及解决方法
  20. 如何判断某一个IP地址是否被占用

热门文章

  1. 《asp.net夜话》一书视频ASP.NET夜话视频1-14章下载(ASP.NET夜话2009年5月8日更新)
  2. DCB工作机制解析二(ETS,DCBX)
  3. Hexo阶段三 -- 将Hexo部署到github
  4. Android跑马灯效果
  5. 分享微信小程序开发详细步骤
  6. kds官方android客户端,电子厨打设置(KDS/ADS)
  7. WireShark抓包新手入门教程1
  8. 换钱 (Standard IO)——c++
  9. Zynq的启动过程及加密
  10. 一个人最重要的是什么?