文件操作

来源:互联网 发布:股市数据分析 编辑:程序博客网 时间:2024/05/14 04:15
 

文件操作

一、         文件类(File)

文件类(File)提供了一些方法可以操作文件和获取文件的信息,包括:更改文件名、删除文件、列出目录下地文件以及文件对象属性的描述信息等。(java把目录当做一种特殊的文件来处理)

构造方法

public   File(String path);[path文件或目录的名字(相对路径或绝对路径)]

public   File(String path,String name);

public   File(File  parent,String chile);

例:    File file1=new File(“demo.txt”);//当前文件夹下的文件

File file2=new File(“c:/demo1.txt”);//绝对路径

File file3=new File(“c:/exmple”);//example是文件还是目录?

File file4=new File(“c:/example”,”demo.txt”);

File file5=new File(file3,”demo.txt”);

File file6=new File(file3,”test”);

二、         静态常量

由于不同操作系统的文件分隔符以及路径分隔符不同,因此,如果要获取当前系统的文件和路径的分隔符,可使用以下两个静态常量。

public static final char separatorChar;

public static final  String separator;

例如,File file = new File("c:"+File.separator+"abc"+File.separator+"a.txt");

1、常用方法

(1)访问文件对象

public String getName()  //返回文件对象名,不包含路径名

public String getPath()    //File对象中封装的路径是什么,获取的就是什么

public String getAbsolutePath()   //返回绝对路径名,包含文件名

public String getParent()  //返回父文件对象的路径名,如果封装的是相对路径,返回null

public File   getParentFile()    //返回父文件对象

(2)获得文件属性

  public long length()    //返回文件的字节长度

  public boolean exists()    //测试指定的文件是否存在

  public long lastModified()   //返回文件最后被修改的时间

(3)文件操作

  public boolean renameTo(Filedest)  //文件重命名

  public boolean  delete()   //删除空目录或文件

(4)目录操作

      public boolean mkdir () //创建目录,正常建立时返回true

  public String[] list()    //返回目录中的所有文件名字符串

      public File[] listFiles()    //返回目录中的所有文件对象

实例:列出指定目录下地文件以及子文件中的文件


public void listDir(File dir){

      System.out.println(dir.getName());

      File[] files=dir.listFiles();

      for(int i=0;i<files.length;i++){

           if(files[i].isFile())

      System.out.println(files[i].getName());

           else

                 listDir(files[i]);   }

递归做法


public void listDir(File dir,int level){

      System.out.println(getLevel(level)+dir.getName());

      level++;

      File[] files = dir.listFiles();

      for(int x =0; x<files.length; x++){

           if(files[x].isDirectory())//如果遍历到的是目录。

                 listDir(files[x],level);//递归。

           else

                 System.out.println(getLevel(level)+files[x].getName());

      }

}

三、         文件过滤器

1、FileFilter和FilenameFilter接口

FileFilter接口:用于抽象路径名的过滤器。此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。

成员方法: boolean accept(File pathname)
测试指定抽象路径名是否应该包含在某个路径名列表中。

FilenameFilter接口:实现此接口的类实例可用于过滤器文件名。Abstract Window Toolkit 的文件对话框组件使用这些实例过滤 File 类的 list 方法中的目录清单。

成员方法:boolean accept(File dir,String name)
测试指定文件是否应该包含在某一文件列表中。

四、         随机文件的操作

RandomAccessFile类可以对文件进行随机读写操作。

构造方法—该对象只能对文件进行操作

RandomAccessFile(File file,String mode) ;(r:只读   rw:可读可写)

RandomAccessFile(String name,String mode);

      例如::File   file=new  File(“d:\\mydata\\a.txt”);

RandomAccessFile  rf=new RandomAccessFile( file,”rw”) ;

RandomAccessFile rfile=new RandomAccessFile(“d:\\lx\\a.txt”,”rw”);

1、读写数据的常用方法

读、写基本数据类型: readInt()、writeInt(int n)等;

读、写UTF字符串:  readUTF()、writeUTF(String str);

读取文件中的一行: readLine();

2、文件随机读写流的读取指针控制

long getFilePointer() ---得到当前的文件读取指针。

void seek(long pos) ---把指针从开始移动到pos位置。

long length() ---得到文件的长度(有多少个字节) 。

void setLength(long newLength)

原创粉丝点击