文件操作需要手机权限,需要在AndroidManifest.xml添加

--------------------------------第一种方式------------------------------------------

1、获取文件路径

/**

* 获取文件路径

* filePath=/storage/emulated/0/Android/data/com.example.wifiapplication/files/20120101_100216_log.txt

* */

public String getFilesPath(Context context) {

// 20120101_100216_log.txt 用时间格式创建文件名

Calendar c = Calendar.getInstance();

SimpleDateFormat fdate = new SimpleDateFormat("yyyyMMdd_HHmmss");

String fname = fdate.format(c.getTime()) + "_log.txt";

String filePath ;

if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable()) {

//外部存储可用

filePath = context.getExternalFilesDir(null).getPath() + "/" + fname;

} else {

//外部存储不可用

filePath = context.getFilesDir().getPath() + "/" + fname;

}

return filePath;

}

2、写入数据

try {

FileOutputStream outputStream = new FileOutputStream(filePath, true);// true 为 追加写入,false 为删除写入(把之前的数据清除掉,再写入)

outputStream.write("88888".getBytes());

outputStream.write("99999999".getBytes());

outputStream.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

3、读取数据

try {

FileInputStream inputStream = new FileInputStream(filePath);

byte[] buffer = new byte[1024];

int hasRead = inputStream.read(buffer);

StringBuilder sb = new StringBuilder();

sb.append(new String(buffer, 0, hasRead));

Log.e("wyy", "读取数据=" + sb.toString());

inputStream.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

--------------------------------第二种方式------------------------------------------

1、获取名称

/**

* 获取文件名称

* */

private String getFileName(){

Calendar c = Calendar.getInstance();

SimpleDateFormat fdate = new SimpleDateFormat("yyyyMMdd_HHmmss");

return fdate.format(c.getTime()) + "_log.txt";

}

2、写入数据

try {

FileOutputStream outputStream = FileHandleActivity.this.openFileOutput(getFileName(),Context.MODE_APPEND);

outputStream.write("需要写入的数据".getBytes());

outputStream.close();// 关闭文件

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

3、读取数据

try {

FileInputStream inputStream = this.openFileInput(fname);

byte[] buffer = new byte[1024];

int hasRead = inputStream.read(buffer);

StringBuilder sb = new StringBuilder();

sb.append(new String(buffer, 0, hasRead));

Log.e("wyy", "读取数据=" + sb.toString());

inputStream.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

【注意】第一种方法和第二种方法的区别:

1.文件路径不一样

2.第一种方法可能对API要求比较高,亲测在minSdkVersion 19 / targetSdkVersion 29上是没有问题。但是不保证在你的手机上没有问题。具体情况具体分析。

android数据写入文件格式,Android 本地文件保存数据(2020-08-07)相关推荐

  1. Jsoup:使用Java将爬虫得到的数据写入Excel,Jsoup得到的数据进行持久化,爬虫数据保存到本地Excel中

    Jsoup:使用Java将爬虫得到的数据写入Excel,Jsoup得到的数据进行持久化,爬虫数据保存到本地Excel中 一.资源 EasyExcel使用教程 Jsoup爬虫教程 二.代码 xml依赖 ...

  2. java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...

    只实现了传送文件的功能. 编写Socket客户端和服务器程序,客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中. 消息格式: 字段 长度(单位字节) 内容 -------------- ...

  3. python 向已有excel写数据_将数据写入已有的excel文件并制作汇总页签

    我必须将一些数据写入现有的xls文件中.(我应该说,我在unix上工作,不能使用windows) 我更喜欢使用python,并尝试过xlwt.openpyxl.xlutils等库.在 它不工作,因为在 ...

  4. Spark读取Hive数据的两种方式与保存数据到HDFS

    Spark读取Hive数据的两种方式与保存数据到HDFS Spark读取Hive数据的方式主要有两种 1. 通过访问hive metastore的方式,这种方式通过访问hive的metastore元数 ...

  5. Android 将MAP格式数据写入XML 将XMP文件读MAP数据格式中

    其中涉及的部分类可以自行查询,如:AtomicFile.java   FastXmlSerializer.java private static final String APPCONFIG_FILE ...

  6. 将android程序写入内存,android中将数据写入手机内存和sdcard中的文件

    在android中一般有两种方式: 第一种是写入手机内存的文件,这种方式,文件的存取路径都是在应用包下的 files 文件夹下,其路径是固定的,并不受程序员控制的, FileOutputStream ...

  7. android 图片 写入文件格式,怎么把web服务器端获取的图片写入android客户端文件...

    怎么把web服务器端数据库获取的图片写入android客户端文件 解决方案 10 获得图片,然后用FileoutputStream写入到文件-- 10 先用htturlconnection(或其他方法 ...

  8. [ Android 五种数据存储方式之二 ] —— 文件存储数据

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

  9. Android数据存储之SharedPreferencesSave存储(保存数据,读取数据的操作)

    GitHub项目地址: https://github.com/Skymqq/SharedPreferencesSave.git 不同于文件的存储方式,SharedPreferences是使用键值对的方 ...

最新文章

  1. oracle ORA-01000: maximum open cursors exceeded问题的解决方法
  2. [转载]MongoDB开发学习 经典入门
  3. Office远程代码执行漏洞补丁(905413)
  4. K8S部署工具:KubeOperator集群部署
  5. 数据的gzip压缩解压缩_使用GZIP和压缩数据
  6. Linux内核权限维持,Linux权限维持笔记
  7. 作者:刘诗凯(1983-),男,华为大数据分析产品部主任工程师。
  8. macOS中安装docker
  9. java 容器 List
  10. java调用opencv人脸识别 error insufficient out of memory
  11. 关于WINDOWS超级终端的使用来调试MODEM 串口
  12. 体细胞选择区分癌基因和抑癌基因
  13. Error: Getter not found: 'suspending'. case AppLifecycleState.suspending
  14. Access数据库,以及一些其他的库。
  15. 360的困兽之斗——探讨奇虎Tecent商业模式
  16. 电脑上怎么调出输入法
  17. UEBA案例分析系列之检测失陷凭证
  18. LLDP协议、STP协议 笔记
  19. 汉字机内码简介及转换工具
  20. 面向对象程序有哪些优点呢?

热门文章

  1. (一)走进Linux世界(安装Centos8,初始化生产环境,GNU bash)
  2. 微软新专利暗示:多功能Surface Pen触控笔可能问世
  3. css:css样式背景图片设置透明度,css如何设置背景图片的透明度
  4. 微信小程序源代码_移动端商城(微信小程序)
  5. XML文档定义有几种方式?它们之间有何本质区别?解析XML文档有哪几种方式?
  6. 搜索算法工程师、专家、leader
  7. 如何在autocad中制作幻灯片文件(.sld)
  8. Linux部署lamp(centos 7),照做就行
  9. oracle的空间数据库
  10. 一次解决IDEA所有乱码情况