Android中文件类File的详细使用说明

  1. import java.io.File; 
  2. import java.io.IOException; 
  3.  
  4. import android.app.Activity; 
  5. import android.os.Bundle; 
  6. import android.os.Environment; 
  7.  
  8. /**   
  9. * @Title: FileTestActivity.java 
  10. * @Package com.mzh.www 
  11. * @Description: 文件类File的常用方法 
  12. * @author MZH 
  13. * @version V2.2 
  14. */ 
  15. public class FileTestActivity extends Activity { 
  16.     /** Called when the activity is first created. */ 
  17.     @Override 
  18.     public void onCreate(Bundle savedInstanceState) { 
  19.         super.onCreate(savedInstanceState); 
  20.         setContentView(R.layout.main); 
  21.          
  22.          
  23.         //小马写的时候不带后缀名,其实这个要写的 
  24.         //而且安卓中不建议用此种写法,支持使用Environment获取路径 
  25.         String path = "/sdcard/fileName";  
  26.         File file = new File(path); //不多讲 
  27.          
  28.          
  29.         //下面是File类的一些静态属性 
  30.         //file.separator;    小马以前喜欢用"/",虽然不错,但不支持,接着看下面 
  31.          
  32.          
  33.         //举两种 写法: 
  34.               //方法一: 
  35.               String path2 = Environment.getExternalStorageDirectory()
  36.                              .getPath() 
  37.                              +"/"+"XiaoMa.txt"; 
  38.               File fileName = new File(path2); 
  39.               //此处可以添加对文件的操作,IO流 
  40.                
  41.                
  42.               //方法二: 
  43.               String path3 = Environment.getExternalStorageDirectory()
  44.                              .getPath() 
  45.                              +File.separator+"XiaoMa.txt"; 
  46.               File fileNam = new File(path3); 
  47.               //此处可以添加对文件的操作,IO流 
  48.          
  49.                
  50.               /** 
  51.                * 大家是不是发现这两种写法第二种多此一举?其实并非如此的
  52.                *,在Android中,官方鼓励支持使用 
  53.                * File.separator来插入"/"符号 
  54.                * 因为:不同的机型配置系统等各种因素下,"/"符号的转义字符也会不同*
  55.                *,所以为保险起见, 
  56.                * 建议朋友们使用File.separator来区别 
  57.                */ 
  58.            
  59.                
  60.               //下面讲下文件的创建是怎么一回事 
  61.               //Android 中创建文件的方式有很多种,小马现在讲下
  62.               //我们经常用到的几种哦,吼吼 
  63.               File file3 = new File("path"); //path为要创建文件的路径
  64.               //,相关路径可查看API 
  65.                
  66.                
  67.               //创建一个临时文件 
  68.               //小马讲下,如果让我们自己创建临时文件时,我们还得拼接文件名
  69.               //,Android为我们提供了更快捷的方式 
  70.               //prefix代表:文件名前缀,suffix代表:生成临时文件的格式,
  71.               //如:.txt .amr .jpg .png等等 
  72.               try { 
  73.                  //此处小马未指定路径,它会默认创建在SD卡根目录下 
  74.                 File tempFile = File.createTempFile("前缀", "格式"); //记得加入try语句块中 
  75.                  
  76.                 //如果想要指定路径,则可以这样写 
  77.                 File tempFile2  = File.createTempFile("前缀", "格式",new File("指定临时文件路径")); 
  78.               } catch (IOException e) { 
  79.                 e.printStackTrace(); 
  80.               }  
  81.                
  82.                
  83.               //创建文件的方式有三种:要看仔细咯 
  84.                    
  85.                   File file2 = new File(path3);  //因为路径是自己指定的,
  86.                                                   //在此小马就直接合上面定义过的路径了 
  87.                   if(!file2.exists()){ 
  88.                        
  89.                        //方式一: 
  90.                       try { 
  91.                         file2.createNewFile(); 
  92.                        } catch (IOException e) { 
  93.                         // TODO Auto-generated catch block 
  94.                         e.printStackTrace(); 
  95.                        } 
  96.                        
  97.                       //方式二: 
  98.                       //file2.mkdir(); 
  99.                        
  100.                       //方式三: 
  101.                       //file2.mkdirs(); 
  102.                        
  103.                       /** 
  104.                        * 以上创建文件方式好像也没多大不同之处,小马的的错误,
  105.                        *创建文件的时候随便调用这三个方法其中之一 
  106.                        * 但后来发现还是有明显区别的,现在贴一段官方API说明
  107.                        *,小马英语也不咋的,希望英语一般的朋友们 
  108.                        * 看到英语不要怕自己不会翻译什么的,多查单词,
  109.                        *不会的再求助工作翻译下,查可以提高自己的英语能力 
  110.                        */ 
  111.                        
  112.                        
  113.                        
  114.                       /** 
  115.                        * 小述:讲下“/”与“/”的不同,在创建文件时不能使用使用windows方式,
  116.                        *也就是"/",除非你转义有linux方式的话就直接用“/”,省了麻烦,
  117.                        *还不会出错转义错误等问题,对吧? 
  118.                        */ 
  119.                        
  120.                        
  121.                      /** 
  122.                       * createNewFile() 
  123.                         Creates a new, empty file on the file system according to the path information  
  124.                         stored in this file. 
  125.                         这个方法指在指定路径下创建一个empty(空的,小马就认识几个单词,
  126.                         *其余的都有道查)文件  
  127.                       */ 
  128.                        
  129.                     /** 
  130.                      * mkdir() 
  131.                        Creates the directory named by the trailing filename of
  132.                        this file. 
  133.                              这个方法指:创建一个指定目录下的文件,但这个方法不能创建多个目录,
  134.                      一般都使用加S的,这个尽量少用,一般私有文件 
  135.                              及私有目录的创建用这个方法 
  136.                      */ 
  137.                        
  138.                      
  139.                      /** 
  140.                       * mkdirs() 
  141.                         Creates the directory named by the trailing filename of this file,  
  142.                         including the complete directory path required to create this
  143.                          directory. 
  144.                         这个方法指:创建一个指定目录下的文件,与上面不同的是,
  145.                         此方法可以创建多个目录哦,常用的创建文件的方法 
  146.                       */ 
  147.                        
  148.                       /** 
  149.                        * 最后,讲下isDirectory() 与  isFile()的小区别 
  150.                        * 小马刚开始不懂什么是Directory,后来试了下,讲直接的,
  151.                        就是:是否是文件夹,isFile是否是文件,简单吧??O_O 
  152.                        */ 
  153.                        
  154.                        
  155.                        
  156.                     
  157.                        
  158.                   } 
  159.                
  160.     } 

    最后,不要忘记加Android中文件操作的权限:

 

 
 
  1. <!--往sdcard中写入数据的权限 --> 
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
  3.  <!--在sdcard中创建/删除文件的权限 --> 
  4.  

 
 
  1. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission> 

  1.   
      
    • 这些问题都是小马在开发过程中遇到过的问题,虽然很低级 ,
    • 但错误犯多了就不会犯了,最后 ,
    • 小马希望大家多查英文文档,不管自己 
    • 英语阅读能力好不好,讲真话,小马的英语,可以让你哭,
    • 但要学会善用工具学习,爱编程,就要补编程方面的缺陷,不要被这英语吓到 
    • 啦,今天就讲这些内容吧,File类中其它方法都很简单,
    • 大家可以试着用下词典查下意思,很容易知道它是干吗的方法的,相信小马 
    • 小马希望:能跟大伙交流学习,共同进步,完成菜鸟中的菜鸟,
    • 到高手中的高手的蜕变,高手,是从菜鸟努力导致的,不是生下来就有的, 
    • 希望我们共同进步

     

日后小马如果再在开发过程中碰到有关File类的问题,会继续追加到此文章中,希望对处于跟小马一样阶段的朋友们有所帮忙,谢谢啦,O_O,每天进步一点,加油

本文出自 “酷_莫名简单” 博客,请务必保留此出处http://mzh3344258.blog.51cto.com/1823534/746174

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值