File文件类型方法、RandomAccessFile随机读写类型的解析

   一、File文件类型:

                        1.作用:对文件系统上的文件或目录进行查看操作等。只能 创建,删除文件(目录)或者查看其属性,
                   但是不能修改文件的内容。
                        2.构造器:
                              1) File(String pathname):   
                                              pathname:参数为一个路径 ,指定文件或目录的路径;   (此路径硬盘不一定存在)
                                   此构造器的相对位置是在项目名这个文件夹下.     
                             2) File(String parentName,String childName) 
                                            根据 parent 路径名字符串和 child 路径名字符串 ,创建一个新 File 实例。
                        3.文件的过滤接口
                                  概念:文件的过滤接口FileFilter,里提供了一个
                                  方法:accept(File file),可以对文件进行过滤。


 File file=new File(".");//表示所在的当前目录。--当前工程名下的文件及目录。
 FileFilter filter=new FileFilter(){
    /*
     *  true:保留我们所需要的文件名
     *  false:不保留的文件
     *  回调:内部逻辑调用此方法
     */
     public boolean accept(File file){
      return file.getName().startsWith(".");
     }
  };
File[] subs=file.listFiles(filter); 
if(subs!=null&&subs.length>0){
for(File s:subs){
     System.out.println(s.getName());
  }
}


  4.路径
         1)文件操作系统的路径分隔符不一样。
                  如:window下的  \  ,  linux下的  / 
                  File.separator:常量,会根据不同操作,系统返回不同分隔符。

        2) 相对路径:  相对于某一个目录来说的。    
                 .  :表示所在的当前目录,即是当前工程名下的文件及目录
                 .. :表示返回上一层目录
        3) 绝对 路径:(不建议使用)
             以根目录为参照物的,也就是需要从根目录写起。
            windows:   c:\a\a.txt  ;  linux:     /home/a.txt
   5.方法
     

    
      1)exists():判断指定路径在硬盘上是否存在;
      2)listFiles():返回此目录下的所有文件和目录;--里面可以有filter参数
      3)createNewFile():创建文件;
             其作用: 创建时,不一定成功。当这个要创建的
             * 文件的父目录不存在时,创建失败。
             * 所以这个方法会抛出异常。
      4)isFile():判断指定的file是不是文件;
      5) mkdir():创建文件夹的作用;会创建一层目录
      6) mkdirs():会创建多层目录;
      7)delete():文件删除;
              --当构造器指定的路径是单层时:
            如果是文件,会直接删除。
            如果是目录,目录下为空,可以直接删除; 目录不为空,删除失败;
              --当构造器指定的路径是多层时: 
            最后一层是文件,只会删除此文件
            最后一层是目录, 目录为空时,只会删除之后一层; 目录不为空时,删除失败;
         删除逻辑:先删最里层,里层删完之后,才能删上一层。        
      8)getName():当前文件名字。

二、随机读写文件类型

          1.RandomAccessFile(File pathName,String mode):
                             file:要指定一个文件的路径或者文件名;
                             mode:'r'/'rw';
                     其作用是:支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组
         2.构造器:
                RandomAccessFile(File file,String mode)
                RandomAccessFile(String filepath,String mode)
        3.  常用方法:
             

 1) int read():
       读取一个字节,放入返回值的低八位上。返回值为int类型
 2)write(int num):
       将参数num的二进制的低八位写出。
   其他方法:
      1)write(byte[] bytes)
      2)write(byte[] bytes,int startIndex,int length):
   对文件操作时,底层是存在指针的。
     1)getFilePointer():获取文件指针的位置。
     2)seek(int index):将指针调到某一位置。   
     3)read(byte[] bytes):将读到的字节(指的是之前写进文件里的内容)存入字节数组中,返回值为读取
       的有效字节个数。当返回-1时,说明读到文件 末尾了。
     4)write(byte[] by):将字节数组里的内容写进文件中。
---其中涉及到的方法----:
   str.getBytes("utf-8"):将字符串按照默认字符集转成相应的字节数组。
   String str1 = new String(byte1,"gbk"):by是字节数组,按照gbk编码编译出来,转换成相应的字符串。
----------------------
3)readLine():读取文本的下一行
      返回此文件文本的下一行,如果连一个字节也没有读取就已到达文件的末尾,则返回 null。 

4)writeUTF(String str):使用 modified UTF-8 编码以与机器无关的方式将一个字符串写入该文件。
5)readUTF():从此文件读取一个字符串。

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值