文档章节

android保存文件到手机内存

feng_blog
 feng_blog
发布于 2015/08/31 16:54
字数 412
阅读 63
收藏 0

首先要指定文件保存的位置,在Java中,我们可以直接使用

Filefile=new File(“info.txt”),但是在Android中,使用这个路径文件会被保存到data/app文件夹(应用程序根目录)下,Android是不允许在这里保存文件的。Android保存文件都是保存在“data/data/包名”文件夹下的。故应该:

Filefile=new File(“data/data/com.xxxx.xxxx/info.txt”);

FileOutputStreamfos=new FileOutputStream(file);

Fos.write((文件内容).getBytes());

fos.close();

文件将被保存在软件的包内的cache文件夹内,文件名为info.txt。

也可以使用SDK提供的api来保存数据,首先介绍一下上下文context的概念:上下文就是一个类,可以获得应用程序的各种信息。里面提供了很多api来获得应用程序的环境,比如环境包名、安装路径、文件路径等。

Contextcontext=new Context();

//context.getFilesDir()帮助我们返回一个路径/data/data/包名/files/

Filefile=new File(context.getFilesDir(), “info.txt”);

FileOutputStreamfos=new FileOutputStream(file);

Fos.write((文件内容).getBytes());

fos.close();

文件将被保存在软件包内新建的files文件夹内。若要保存在cache文件夹内,可将getFilesDir()方法改为getCacheDir()

这种保存文件的方法的好处是不用写很长的路径、更改包名时对文件保存也没有任何影响。

Cache文件夹内保存的都是缓存文件,清除缓存时里面的文件会被全部删除,所以需要长期保存的文件千万不要保存在此文件夹内。

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

feng_blog

feng_blog

粉丝 119
博文 130
码字总数 105422
作品 3
朝阳
iOS工程师
私信 提问
Android和iOS的区别(从开发角度比较)

一、两者运行机制不同 1. iOS采用的是沙盒运行机制 (1)沙盒机制 出于安全考虑,iPhone对于安装在上面的应用程序有所限制,这个限制就是应用程序只能在为该改程序创建的文件系统中读取文件,...

安然若知
2018/06/28
0
0
把apk安装到SD卡上,有什么实际意义

我们把A软件大小为50M的A.apk安装到sd上后大,,通过Android系统的程序管理查看,A软件占用的sd卡容量只有6.3M左右,其余的43M左右,还是保存到了手机内存卡上。 A软件50M大小,其中: res ...

萝卜切巴斯基
2012/03/08
2.2K
2
start Android 内外存彻底研究

一部Android手机存在不同的存储空间类型。拿我的LG Optimus举例,他有512MB ROM和512MB RAM,还有一个SDHC的扩展槽,标配2G内存卡,最大可支持32G内存卡。那么这些数据都是什么意思呢? RAM ...

LiangX
2012/02/19
300
0
Android防止内存溢出浅析

Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M。但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的...

长平狐
2012/09/03
310
1
android开发中防止内存溢出浅析

安卓的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M。但是安卓采用的是Java语言编写,所以在很大程度上,安卓的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的限制问题...

小克898
2013/03/14
450
0

没有更多内容

加载失败,请刷新页面

加载更多

golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
4
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
3
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部