Android的读写文件权限
2016-05-19 11:05
375 查看
/**测试没通过 * 写文件 * @param str */ public void write(String str){ File file = new File(Environment.getExternalStorageDirectory()+"/cardvalue","config.txt"); FileWriter fw; try { if (file.exists()){ file.delete(); file.createNewFile(); } fw = new FileWriter(file); fw.write(str); fw.flush(); fw.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 读文件 * @return */ public String read(){ File file = new File(Environment.getExternalStorageDirectory()+"/cardvalue","config.txt"); FileReader fr ; if (!file.exists()){ return null ; }else{ try { fr = new FileReader(file); char buffer[] = new char[(int) file.length()]; fr.read(buffer); String str = new String(buffer); fr.close(); return str; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }
下面是读取文件和写入文件的程序代码: 读取文件: [java] view plain copy public void readInfo(View view){ File file = new File("/data/data/com.aaron.login/files/public.txt"); FileInputStream fis; try { fis = new FileInputStream(file); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); String result = br.readLine(); Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Toast.makeText(MainActivity.this, "读取文件失败", Toast.LENGTH_LONG).show(); } } 写入文件: [java] view plain copy public void writeInfo(View view){ File file = new File("/data/data/com.aaron.login/files/public.txt"); FileOutputStream fos; try { fos = new FileOutputStream(file); fos.write("hahaha".getBytes()); fos.close(); Toast.makeText(MainActivity.this, "写入文件成功", Toast.LENGTH_LONG).show(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Toast.makeText(MainActivity.this, "写入文件失败", Toast.LENGTH_LONG).show(); } } File file = new File("/data/data/com.aaron.login/files/public.txt"); 同File file = new File(Context.getFileDir(), "public.txt"); 若要存储文件到SD卡:File file = new File("/sdcard/info.txt");http://blog.csdn.net/ztp800201/article/details/7322110
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
成功案列:
package com.example.readwrite; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.widget.Toast; public class MainActivity extends Activity { private final static String PATH = "/sdcard/digu"; private final static String FILENAME = "/notes.txt"; String text1 ="888888888888888888888888888888888"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); onWrite("www888888888888888888888888888888888"); readtex(); } //向sdcard写文件 /** * 写文件 */ private void onWrite(String str) { try { Log.e("555555555555555", "Start Write"); //1.判断是否存在sdcard if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { //目录 File path = new File(PATH); //文件 File f = new File(PATH + FILENAME); if(!path.exists()){ //2.创建目录,可以在应用启动的时候创建 path.mkdirs(); } if (!f.exists()) { //3.创建文件 f.createNewFile(); }else if(f.exists()){ f.delete(); f.createNewFile(); } OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(f)); //4.写文件,从EditView获得文本值 osw.write(str); osw.close(); } } catch (Exception e) { Log.d("66666666666666", "file create error"); } } public String readtex(){ //文件 File f = new File(PATH + FILENAME); FileInputStream is; try { is = new FileInputStream(f); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] array = new byte[1024]; int len = -1; while( (len = is.read(array)) != -1){ bos.write(array,0,len); bos.close(); is.close(); Toast.makeText(MainActivity.this,"读出来的数据" +bos.toString(), Toast.LENGTH_SHORT).show(); Log.e("读出来的数据", bos.toString()); return bos.toString(); } } catch (IOException e) { e.printStackTrace(); } return null; } }
相关文章推荐
- Android 完美实现图片圆角和圆形(对实现进行分析)
- Android开发笔记----Activity再学习(生命周期、启动模式、intent-filter)
- android 4.4 支持透明状态栏和透明导航栏
- ubuntu 12.04.5 LTS搭建海思android SDK编译环境遇到的问题总结
- Android探索之ContentProvider熟悉而又陌生的组件
- Android笔记----动画、属性动画
- Android传感器及简单应用
- android xml 布局进阶
- Android系统中Parcelable和Serializable的区别
- Android Studio设置代理
- SoftReference 为什么被 Android “放弃”
- Android ListView分类/分组效果 - 第二种实现方式
- android开发中常用的快捷键
- .gitignore for Android Studio 怎么写?
- 【FastDev4Android框架开发】重写WebView网页加载以及JavaScript注入详解(二十三)
- 自定义Android Toast样式
- Android使用最小宽度限定符时最小宽度的计算
- android 开源框架
- 关于android中listview的adapter如何通用的一些看法
- 在项目中使用MPAndroidChart遇到的问题