【Android】对文件和文件夹操作
一,说明:
这几天做一个功能需要在手机上创建一个文件夹,然后往里面存储一些文件,首先得考虑用户有没有sdcard,如果有就在sdcard上创建一个指定的文件夹,如果没有则在你的工程所在的目录“/data/data/你的包名”下创建文件夹。用到的方法是:
首先判断sdcard是否插入<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
二,实例
package demo.filerw.service; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import android.content.Context; import android.os.Environment; /** * 文件操作类 * @author janrone * @website http://hujl.sinaapp.com */ public class FileService { private Context context; public FileService(Context context) { this.context = context; } //存储数据到文件 public void saveName(String name) throws Exception{ //context.getFilesDir();// 得到存放文件的系统目录 /data/data/<package name>/files //context.getCacheDir(); //缓存目录 /data/data/<package name>/cache FileOutputStream outputStream=context.openFileOutput(“deomfilerw.txt”, Context.MODE_APPEND); outputStream.write(name.getBytes()); outputStream.close(); } //存储数据到sdcard public void saveNameToSDCard(String name) throws Exception{ Environment.getExternalStorageDirectory(); //得到sdcard目录 File file=new File(“/sdcard”,”demosdcard.txt”); FileOutputStream outputStream=new FileOutputStream(file); outputStream.write(name.getBytes()); outputStream.close(); } // 读取数据 public String getName() throws Exception{ FileInputStream inputStream=context.openFileInput(“deomfilerw.txt”); ByteArrayOutputStream outStream=new ByteArrayOutputStream(); byte[] buffer=new byte[1024]; int len=0; while ((len=inputStream.read(buffer))!=-1){ outStream.write(buffer, 0, len); } outStream.close(); byte[] data=outStream.toByteArray(); String name=new String(data); return name; } }