[html] view plain copy
  1. packagecom.ghg.IO;
  2. importjava.io.ByteArrayOutputStream;
  3. importjava.io.File;
  4. importjava.io.FileInputStream;
  5. importjava.io.FileNotFoundException;
  6. importjava.io.FileOutputStream;
  7. importjava.io.IOException;
  8. importjava.io.InputStream;
  9. importandroid.app.Activity;
  10. importandroid.content.res.AssetManager;
  11. importandroid.os.Bundle;
  12. importandroid.os.Environment;
  13. importandroid.os.FileObserver;
  14. publicclassDay1404_IOActivityextendsActivity{
  15. /**Calledwhentheactivityisfirstcreated.*/
  16. @Override
  17. publicvoidonCreate(BundlesavedInstanceState){
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.main);
  20. /*
  21. *1.创建并返回一个目录,在这个目录下存储应用程序的数据文件
  22. *输出结果为:getFilesDir():/data/data/com.ghg.IO/files
  23. */
  24. Filedir=getFilesDir();
  25. System.out.println("getFilesDir():"+dir.toString());
  26. /*
  27. *2.创建并返回一个目录,在这个目录下存储应用程序的缓冲文件,当系统资源不足时,系统清除这下面的文件
  28. *输出结果为:dir2=/data/data/com.ghg.IO/cache
  29. */
  30. Filedir2=getCacheDir();
  31. System.out.println("dir2="+dir2.toString());
  32. /*
  33. *3.创建并返回一个指定名称的目录,在这个目录下来存些东西
  34. *输出结果为:dir3=/data/data/com.ghg.IO/app_abc
  35. */
  36. Filedir3=getDir("abc",MODE_PRIVATE);
  37. System.out.println("dir3="+dir3.toString());
  38. /*
  39. *4.用于返回数据库中指定名字的文件路径,在内部存储中应该保存的路径;
  40. *输出结果为:dir4=/data/data/com.ghg.IO/databases/stu.db
  41. */
  42. Filedir4=getDatabasePath("stu.db");
  43. System.out.println("dir4="+dir4.toString());
  44. /*
  45. *5.打开一个输出流对象,通过这个输出流对象可以向abc.txt文件中写入一些数据,
  46. *abc.txt文件位于/data/data/com.ghg.IO/files下;
  47. */
  48. try{
  49. FileOutputStreamout=openFileOutput("abc.txt",MODE_PRIVATE);
  50. out.write("gaohongguojiajia".getBytes());
  51. out.flush();
  52. out.close();
  53. }catch(FileNotFoundExceptione){
  54. //TODOAuto-generatedcatchblock
  55. e.printStackTrace();
  56. }catch(IOExceptione){
  57. //TODOAuto-generatedcatchblock
  58. e.printStackTrace();
  59. }
  60. /*
  61. *6.获取一个输入流对象,通过这个输入流对对象读取指定文件,这个文件在/data/data/com.ghg.IO/files下;
  62. */
  63. try{
  64. FileInputStreamis=openFileInput("abc.txt");
  65. ByteArrayOutputStreamout=newByteArrayOutputStream();
  66. intlen=0;
  67. byte[]buf=newbyte[4];
  68. while((len=is.read(buf))>0){
  69. out.write(buf,0,len);
  70. out.flush();
  71. }
  72. out.close();
  73. is.close();
  74. System.out.println(out.toString());
  75. }catch(FileNotFoundExceptione){
  76. //TODOAuto-generatedcatchblock
  77. e.printStackTrace();
  78. }catch(IOExceptione){
  79. //TODOAuto-generatedcatchblock
  80. e.printStackTrace();
  81. }
  82. /*
  83. *7.获取内部存储的数据目录
  84. *输出结果是:dir7=/data
  85. */
  86. Filedir7=Environment.getDataDirectory();
  87. System.out.println("dir7="+dir7.toString());
  88. /*
  89. *8.获取内部存储下载缓冲目录,隐藏的目录;
  90. *输出结果为:dir8=/cache
  91. */
  92. Filedir8=Environment.getDownloadCacheDirectory();
  93. System.out.println("dir8="+dir8.toString());
  94. /*
  95. *9.获取内部下载系统的根目录
  96. *输出结果为:dir9=/system
  97. */
  98. Filedir9=Environment.getRootDirectory();
  99. System.out.println("dir9="+dir9.toString());
  100. /*
  101. *10.创建并返回外部存储文件目录,需要sd卡的的写入数据权限;
  102. *输出结果是:dir10=/mnt/sdcard/Android/data/com.ghg.IO/files/Music
  103. */
  104. Filedir10=getExternalFilesDir(Environment.DIRECTORY_MUSIC);
  105. System.out.println("dir10="+dir10.toString());
  106. /*
  107. *11.创建并返回外部存储缓冲目录,需要sd卡的写入数据权限;
  108. *输出结果是:dir11=/mnt/sdcard/Android/data/com.ghg.IO/cache
  109. */
  110. Filedir11=getExternalCacheDir();
  111. System.out.println("dir11="+dir11.toString());
  112. /*
  113. *12.返回sdcard的根目录;
  114. *结果:dir12=/mnt/sdcard
  115. */
  116. Filedir12=Environment.getExternalStorageDirectory();
  117. System.out.println("dir12="+dir12.toString());
  118. /*
  119. *13.返回sdcard公共存储目录;
  120. *结果:dir13=/mnt/sdcard/Music
  121. */
  122. Filedir13=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
  123. System.out.println("dir13="+dir13.toString());
  124. /*
  125. *14.返回sdcard的状态,每次使用sdcard时,都会检查其状态;
  126. *结果:status=mounted
  127. */
  128. Stringstatus=Environment.getExternalStorageState();
  129. System.out.println("status="+status);
  130. /*
  131. *15.对源生资源的访问,在assets下放一个stu.db,读取并写入内部存储数据文件目录下;
  132. */
  133. Filedir1=getDatabasePath("stu.db");
  134. if(!dir1.exists()){
  135. if(!dir1.getParentFile().exists()){
  136. dir1.getParentFile().mkdir();
  137. }
  138. AssetManagermanager=getAssets();
  139. try{
  140. InputStreamin=manager.open("stu.db");
  141. FileOutputStreamout=newFileOutputStream(dir1);
  142. intlen=0;
  143. byte[]buf=newbyte[512];
  144. while((len=in.read(buf))>0){
  145. out.write(buf,0,len);
  146. out.flush();
  147. }
  148. in.close();
  149. out.close();
  150. }catch(IOExceptione){
  151. //TODOAuto-generatedcatchblock
  152. e.printStackTrace();
  153. }
  154. }
  155. }
  156. }

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. Android写文件到SDCard的简单代码
  4. Android和PC端通过局域网文件同步
  5. Android手电筒小程序实现代码
  6. android ListView 的使用
  7. Android之Audio常用属性变量
  8. android中IO操作数据总结
  9. android 记得用mkdirs不要用mkdir

随机推荐

  1. php时间函数——获取过去24小时内每个小
  2. 如何从PHP中的file_get_contents获取动态
  3. PHP ZipArchive 实现压缩解压Zip文件
  4. brandhb.com 品牌回报网招聘php工程师
  5. php判断手机浏览还是web浏览,并执行相应的
  6. PHP变量类型+整型类型细节
  7. PHP中的替代语法
  8. 仅在LARAVEL或AJAX中提交表单时,无需用户
  9. JAVA/PHP/C#版RSA验签--转
  10. 十大最流行PHP框架排名