Android Studio 文件读取、存储小记
一、从文件中读
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 文件读取、存储小记相关推荐
- android studio文件内部存储,Android Studio使用内部存储上的文件创建diconary
即时通讯工具正在Android的Notes应用程序中使用. 问题:我不知道如何保存txt.我的内部存储上的应用程序文件.我已经用外部存储编码了它.这里是我的代码(MainActivity.java)A ...
- Android studio文件定位
我们在开发Android studio APP的时候,随着项目的越来越大,文件越来越多,而且Android studio RES文件管理最大的缺陷就是文件不能按照自己的风格分类,只能按安卓自带的风格分 ...
- android studio文件存储路径,配置Android Studio的缓存文件路径(释放你的C盘)
Android Studio默认安装完后会在C:\Users\YourName.xxx 缓存一些数据,有限的C盘很容易爆增. 如果你的C盘也像我这样捉襟见肘,或者你是处女座的,那么请看完本文,结果会让 ...
- android studio文件风格,Android Studio构建风格 – 如何拥有不同风格的相同源文件
我需要在android studio中为应用程序创建一个演示风格.在我的应用程序级gradle文件中,我创建了另一种名为demo的风格,当然还有默认的风味.它看起来像这样: apply plugin: ...
- Android 图片文件读取
Android中图片的读取,修改,显示和保存涉及到的类大致如图所示. 在读取图片文件时,先将图片文件转换为InputStream对象,然后通过BitmapFactory将其转换为Bitmap对象. 在 ...
- 7天学习Go语言-尾声+一次险些翻车的任意文件读取漏洞小记
接口 接口的定义 接口(interface )类型是对其他类型行为的概括和抽象,接口类型定义了一组方法,但是不包括这些方法的具体实现 接口本质是一种指针类型,可以实现多态功能.如果一个类型实现了某个接 ...
- android studio 文件夹改名后 比如 example 改成demo 出现Cannot resolve symbol ‘R
今天在调试的时候,Android Studio 报了一个莫名其妙的错误Cannot resolve symbol 'R'让人不知所措.因为这东西根本不归我管啊,怎么会出现 Cannot resolve ...
- Android之文件数据存储
一.文件保存数据介绍 Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的.文件可用来存放大量数据,如文本.图 ...
- Android Studio NFC读取CPU卡信息
今天接到一个NFC读CPU卡的需求,做个总结. 总结之前,吐槽一下,一定要查一下测试机支不支持NFC功能,我拿乐视S3开发了一上午,以为哪里出了BUG或者权限没加,查了无数资料,下了十几个demo,死 ...
最新文章
- 2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉
- 外国人无知嘲笑,中国人的回答让他们目瞪口呆!
- android Spinner点击事件处理
- 超详细Pycharm部署项目视频教程
- 在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文
- DVWA设置mysql_解决DVWA配置报错
- JavaScript JSON操作
- android 跳转动画黑屏,Android8.0 适配解决页面跳转过程出现短暂黑屏的问题
- django的动态url,url里含有参数,含有参数的url
- 别样的1024程序员节“无Bug市集”
- apropos linux
- matlab中极点留数法,用MATLAB求留数.pdf
- 一分钟内搞定!熊猫杀毒软件研发提升扫描速度的技术
- 茅台抢购脚本golang版本使用教程
- 【车牌识别】基于模板匹配实现车牌识别含Matlab源码
- 手机Camera理论
- matlab对稀疏矩阵求特征值,使用ARPACK查找稀疏矩阵的特征向量和特征值(称为PYTHON,MATLAB或FORTRAN子例程)...
- 苹果X屏黑了-苹果x屏幕黑屏也无法开机怎么回事?
- 安装cartographer出现的问题及解决方法
- 如何判断某一个IP地址是否被占用