Android数据持久化之File机制分析
作者:android小猪 发布时间:2021-05-29 19:24:56
标签:Android,数据持久化,File
本文实例讲述了Android数据持久化之File机制。分享给大家供大家参考,具体如下:
在使用Java SE平台开发C/S结构的软件中,File 的IO输入输出流的使用率是非常高的,通过使用IO输入输出流可以对存储介质上的文件进行读写操作,下面的代码就是实现一个在Android平台上使用File对象操作文件的功能:
package com.example.data_file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
@SuppressLint("SdCardPath")
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
File file = new File("/data/data/com.example.data_file/file.txt");
Log.v("path=", file.getAbsolutePath());
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
fos.write("乌拉啦啦啦".getBytes());
fos.close();
FileInputStream fis = new FileInputStream(file);
InputStreamReader isReader = new InputStreamReader(fis);
char[] charArray = new char[2];
int readLength = isReader.read(charArray);
StringBuffer sb = new StringBuffer();
while(readLength != -1)
{
sb.append(charArray, 0, readLength);
readLength = isReader.read(charArray);
}
Log.v("file.txt文件内容是:", sb.toString());
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
注意:Linux系统下对权限的要求比较高,不允许随便存储文件,所以存储文件的路径为:/data/data/<包名>/Files/<文件名>
希望本文所述对大家Android程序设计有所帮助。


猜你喜欢
- SpringBoot实现单文件上传功能,供大家参考,具体内容如下架构为springboot+thymeleaf,采用ajax方式提交1. 页
- 判断JSONObject是否存在某个KeyJSONObject jsonObj = new JSONObject();jsonObj.put
- Http请求类package wzh.Http;import java.io.BufferedReader;import java.io.I
- 在项目中,经常会遇到页面分割,最常见的系统或网站的主界面。主页面分为,上面系统简介、下面作者简介、左边系统功能菜单、右边则是菜单真正展示的界
- 前言刚看到这个题目的朋友第一反应肯定是好奇,之后再细细思考下就会发现这个题目眼熟了。就算是同一个答案,如果提问的方式不同,往往会对回答造成干
- 一、基本RPC框架简介在分布式计算中,远程过程调用(Remote Procedure Call,缩写 RPC)允许运行于一台计算机的程序调用
- 嵌套表格,即在一张表格中的特定单元格中再插入一个或者多个表格,使用嵌套表格的优点在于能够让内容的布局更加合理,同时也方便程序套用。下面的示例
- C# 7 里面的Pattern Mathing 更多内容请查看官方文档:https://docs.microsoft.com/zh-cn/d
- 在公司的项目中用到了分布式锁,但只会用却不明白其中的规则所以写一篇文章来记录使用场景:交易服务,使用redis分布式锁,防止重复提交订单,出
- 首先来说一下本文中例子所要实现的功能:基于ProtoBuf序列化对象使用Socket实现时时通信数据包的编码和解码下面来看具体的步骤:一、U
- 概述@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解。基本用法如下:1. 添加Maven
- 代码如下一、创建EdgeLight.xaml代码如下。<ResourceDictionary xmlns="htt
- 先看看效果图:实现思路:监听ListView的滑动,等目的项为列表第一个可见的ItemView时,添加一个一个的布局,产生悬停效果实现代码:
- 末日这天写篇博客吧,既然没来,那就纪念一下。这次谈谈自制控件,也就是自定义控件,先上图,再说1.扩展OpenFileDialog,在Open
- private void button2_Click(object sender, EventArgs e) &nbs
- public static String getCharset(File file) { &n
- 一、前言什么是多渠道打包以及多渠道打包可以做什么,这里就不做介绍了,相信看到这篇文章的你已经了解了,多渠道打包的方式比较多,这里我们用Gra
- 本文实例讲述了C#中参数个数可变的方法。分享给大家供大家参考。具体方法如下:要实现C#中参数个数可变关键是使用params关键字。并且,可变
- 前言:本篇文章将介绍Java多线程中的几个典型案例之单例模式,所谓单例模式,就是一个类只有一个实例对象,本文将着重介绍在多线程的背景下,单例
- Java与Scala创建List与Map//JavaList<String> languages = new ArrayList