首先要指定文件保存的位置,在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文件夹内保存的都是缓存文件,清除缓存时里面的文件会被全部删除,所以需要长期保存的文件千万不要保存在此文件夹内。