使用文件如何对数据进行存储,见下面代码片段:Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。
public class FileActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
...
FileOutputStream outStream = this.openFileOutput("itcast.txt", Context.MODE_PRIVATE);
outStream.write("hello world!!!".getBytes());
outStream.close();
}
}
openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/” ,如果文件不存在,Android 会自动创建它。创建的文件保存在/data/data/<package name>/files目录,如: /data/data/cn.itcast.action/files/itcast.txt ,通过点击Eclipse菜单“Window”-“Show View”-“Other”,在对话窗口中展开android文件夹,选择下面的File Explorer视图,然后在File Explorer视图中展开/data/data/<package name>/files目录就可以看到该文件。
openFileOutput()方法的第二参数用于指定操作模式,有四种模式,分别为: Context.MODE_PRIVATE,Context.MODE_APPEND,Context.MODE_WORLD_READABLE,
Context.MODE_WORLD_WRITEABLE;
Context.MODE_PRIVATE:
为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:
模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入:
openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
Android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/<package name>/files),其他程序无法访问。除非在创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE ,只有这样其他程序才能正确访问
如果要打开存放在/data/data/<package name>/files目录应用私有的文件,可以使用Activity提供openFileInput()方法。
FileInputStream inStream = this.getContext().openFileInput("itcast.txt");
或者直接使用文件的绝对路径:
File file = new File("/data/data/cn.itcast.action/files/itcast.txt");
FileInputStream inStream = new FileInputStream(file);
Log.i("FileTest", readInStream(inStream));
注意:上面文件路径中的“cn.itcast.action”为应用所在包,当你在编写代码时应替换为你自己应用使用的包。
对于私有文件只能被创建该文件的应用访问,如果希望文件能被其他应用读和写,可以在创建文件时,指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
Activity还提供了getCacheDir()和getFilesDir()方法:
getCacheDir()方法用于获取/data/data/<package name>/cache目录
getFilesDir()方法用于获取/data/data/<package name>/files目录
分享到:
相关推荐
在这个场景下,我们关注的是如何从CSV(Comma Separated Values)文件中读取特定数据,并将其保存到TXT文件中。CSV是一种常见的文件格式,用于存储表格数据,如电子表格或数据库,以纯文本形式方便交换。下面将详细...
首先使用`dlmread`读取TXT文件,然后使用`save`函数将数据保存为MAT文件。例如: ```matlab data = dlmread('input.txt'); save('output.mat', 'data'); ``` 这将创建一个名为'output.mat'的MAT文件,其中包含...
在C++编程中,保存和读取数据到文本文件(如txt文件)是常见的操作,这对于数据持久化、日志记录或用户配置的存储都至关重要。在这个特定的程序中,我们关注的是如何将当前系统时间保存到txt文件,并在之后读取这个...
在软件开发过程中,二进制(bin)文件是一种常见的数据存储格式,它能够高效地存储各种类型的数据,包括但不限于文本、图像、音频等。Qt作为一款跨平台的应用程序开发框架,提供了强大的工具集来处理这类文件。 ###...
在本案例中,我们将深入探讨如何使用Matlab的图形用户界面(GUI)设计工具来实现文件数据的读取、绘制曲线图以及数据的保存。这个压缩包提供了完整的资源,包括源代码、可执行文件和详细的操作指南,让我们一步步...
在 IOS 平台下,我们需要使用特殊的方法来保存和读取资源,我们可以使用 Application.dataPath 来获取文件的路径,然后使用文件流来保存和读取资源。 JsonPath 在 Unity 中,我们可以使用 JsonPath 来获取文件的...
在Android开发中,数据存储与读取是必不可少的一部分,它涉及到如何持久化应用程序的数据以便在后续使用中能够恢复。在给定的文件中,我们看到了一个简单的例子,它展示了如何利用文件存储方式来实现数据的保存和...
工程应用中,从flash读取的输出,经常保存成bin文件,有时里面的数据是十六进制。本文将介绍读取bin文件的方法在十六数的数据验证通过 首先用fopen函数打开bin文件(关于函数的说明,大家可以百度,或在matlab里...
本文将深入探讨如何使用Matlab处理数据文件,包括读取txt和.xls文件,以及进行三维最小二乘拟合。此外,我们还将讨论程序流程图在编程过程中的重要性。 首先,让我们来看看如何在Matlab中读取txt文件。文本文件(....
在IT行业中,尤其是在编程领域...使用`配置读取.vi`和`配置保存.vi`,开发者可以轻松地在程序中实现配置信息的持久化,从而提高代码的可维护性和用户体验。记住,正确处理文件操作是确保程序稳定性和可靠性的重要一环。
当TXT文件中同时含有中英文字符和数值数据时,读取会变得复杂一些。这里介绍两种方法:使用`importdata`函数和`textread`函数。 **使用`importdata`函数** 假设文件`test.txt`的内容如下: ``` 1111111111 ...
总结,C#中存储和读取结构体到二进制文件的关键在于使用`BinaryFormatter`进行序列化和反序列化。理解这个过程对于处理数据持久化、数据传输等任务至关重要。当然,选择合适的序列化方法还需根据具体需求,考虑性能...
遥感技术涉及广泛的数据处理,包括图像分析、地理信息系统(GIS)等,而这些都需要对文件进行高效的读取和存储。 文件读取是指从磁盘或其他存储介质中获取文件内容并将其加载到内存中供程序处理。在VS2010中,可以...
综上所述,读取、处理和存储SEGY文件涉及多个步骤,需要对地震数据的特性、文件格式标准以及数据处理方法有深入了解。通过掌握这些知识点,地质学家和工程师能够有效地利用地震数据进行地质勘探和资源评估。
在Java开发中,处理大量数据时,高效的数据读取、校验和存储是至关重要的。Apache POI等库常用于处理Excel文件,但其性能在处理大数据时可能会受限。这时,阿里巴巴开源的EasyExcel应运而生,它专门优化了Excel处理...
可以创建一个DataFrame来存储接收到的数据,然后使用`to_excel`方法将其保存到Excel文件。例如,`df.to_excel('data.xlsx', index=False)`。 4. **定时任务**:为了实现整点数据的自动保存,可以使用`time`或`...
在Oracle数据库存储超大文件时、以流的方式分段读取和保存,避免内存溢出。本工具类提供两个方法: 1、读取文件保存到Oracle数据库Blob字段(支持超大文件) 2、从数据库中读出大字段到文件中(分块读取)
在C++编程中,读取和保存txt格式的数据文件是一项基本技能,对于处理文本数据尤其重要。本教程将深入探讨如何使用C++实现这一功能,让你轻松掌握这一基础操作。 首先,我们需要理解C++中与文件操作相关的库,主要是...
UFF(Universal File Format)是一种多用途的数据存储格式,由美国国家仪器公司(National Instruments)开发,用于保存来自各种硬件设备和软件应用程序的数据。UFF文件可以包含结构化的数据,如数组、结构、元胞...