您的位置:首页 > 移动开发 > Android开发

android 文件保存到应用和sd卡中

2015-01-25 16:49 190 查看
<span style="font-size:18px;">1.权限添加
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

public static String getDataFolderPath(Context paramContext) {
return Environment.getDataDirectory() + "/data/"
+ paramContext.getPackageName() + "/files";
}

public static String getMyFileDir(Context context){
return context.getFilesDir().toString();
}

public static String getMyCacheDir(Context context){
return context.getCacheDir().toString();
}
/**
* @desc 保存内容到文件中
* @param fileName
* @param content
* @throws Exception
*/
public static void save(Context context, String fileName, String content, int module) {
try {
FileOutputStream os = context.openFileOutput(fileName, module);
os.write(content.getBytes());
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* @desc 读取文件内容
* @param fileName
* @return
*/
public static String read(Context context, String fileName){

try {
FileInputStream fis = context.openFileInput(fileName);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int len = 0;
while((len = fis.read(b)) != -1){
bos.write(b, 0, len);
}
byte[] data = bos.toByteArray();
fis.close();
bos.close();
return new String(data);
} catch (Exception e) {
e.printStackTrace();
}
return  null;
}

/**
* @desc 将文本内容保存到sd卡的文件中
* @param context
* @param fileName
* @param content
* @throws IOException
*/
public static void saveToSDCard(Context context, String fileName, String content) throws IOException{

File file = new File(Environment.getExternalStorageDirectory(),fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(content.getBytes());
fos.close();
}

/**
* @desc 读取sd卡文件内容
* @param fileName
* @return
* @throws IOException
*/
public static String readSDCard(String fileName) throws IOException {

File file = new File(Environment.getExternalStorageDirectory(),fileName);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer =  new byte[1024];
int len = 0;
while((len = fis.read(buffer)) != -1)
{
bos.write(buffer, 0, len);
}
byte[]  data = bos.toByteArray();
fis.close();
bos.close();

return new String(data);
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐