把文件存储到sdcard中
来源:互联网 发布:网络存储服务器 编辑:程序博客网 时间:2024/04/30 04:43
SDCard中的文件被外面的应用读写
在程序中访问SDCard,你需要申请访问SDCard的权限。
在AndroidManifest.xml中加入访问SDCard的权限如下:
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。
注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录
File saveFile = new File(sdCardDir, “itcast.txt”);
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("传智播客".getBytes());
outStream.close();
}
Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:
File sdCardDir = new File("/sdcard"); //获取SDCard目录
File saveFile = new File(sdCardDir, "itcast.txt");
//上面两句代码可以合成一句: File saveFile = new File("/sdcard/itcast.txt");
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write(" 写入SDCard".getBytes());
outStream.close();
例子:
给sdcard写入文件
public void saveAndWrite(String name,String content) throws IOException{
if(!name.endsWith(".txt")){
name=name+".txt";
}
FileOutputStream putStream = context.openFileOutput(name, Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);
putStream.write(name.getBytes());
putStream.close();
}
@SuppressLint("WorldReadableFiles")
public void saveAtSDCard(String name ,String content) throws IOException{
if(!name.endsWith(".txt")){
name=name+".txt";
}
File file = new File(Environment.getExternalStorageDirectory(), name);
FileOutputStream outStream = new FileOutputStream(file);//context.openFileOutput(name, Context.MODE_PRIVATE)是写入到系统默认的位置
outStream.write(content.getBytes());
outStream.close();
}
调用上面方法的代码:
public void onClick(View v) {
String name = ((EditText)findViewById(R.id.name)).getText().toString();
String content = ((EditText)findViewById(R.id.content)).getText().toString();
FileService file = new FileService(MainActivity.this);
try {
//file.save(name, content);
//file.saveAndWrite(name, content);
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
file.saveAtSDCard(name, content);
Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this, "没有找到sdcard", Toast.LENGTH_LONG).show();
}
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(MainActivity.this, "保存失败", Toast.LENGTH_LONG).show();
}
}
- 把文件存储到sdcard中
- 把文件保存到 sdcard
- android中把文件保存到sdcard代码实例
- 把apk安装到Android模拟器中、把文件拷贝进sdcard
- Android中把文件存放在SDCard
- 把文件存放在SDCard中
- 文件中图片和文档存储到手机和SDCard中
- Android5中存储方式之文件外部存储SDCard存储
- 把assets下的指定文件拷贝到sdcard上
- 将文件保存到sdCard中去
- Android写入文件到sdcard中
- 把异常信息输出到指定的文件中存储
- 数据存储-文件(文件的读取、把文件存储到SD卡中)
- Android14——把文件存入SDCard中
- 上传文件到sdcard
- 写文件到sdcard
- 存放文件到sdcard
- android文件存储:直接存储文件和文件存储到SDCard
- 怎样做才能让Java 序列化机制 更安全 ? Security principles we follow to make Java Serialization safe.
- Day09_变量~函数
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- OCP-1Z0-053-V12.02-20题
- 善用eclipse模板功能,有效提高編碼效率
- 把文件存储到sdcard中
- grails学习笔记-文件上传
- cclayer的区域
- 主题模型-LDA浅析
- 数据库命名规范(表、字段名)
- Day10_函数形参及文件操作
- 监控ContentProvider的数据改变
- Day11_递归、变量生命周期及作用域
- POJ 2947 Widget Factory