9-1

来源:互联网 发布:淘宝比价软件哪个好用 编辑:程序博客网 时间:2024/04/29 10:55

课堂笔记

一、File

1.用途:用来操作文件和获得文件的信息。File类的方法,可以得到文件或目录的描述信息,包括名称、所在路径、读写性、长度等,可以创建新目录、临时文件、改变文件名、删除文件、列出一个目录中所有的文件或与某个模式匹配的文件等操作。

2.构造方法:

① public   File(String  path); -----File f1=new File("data.txt");

  ②  public   File(String path,String name);-----File f2 =new File("\\mydir","data.txt");

  ③  public   File(File  parent,String chile);----File dir=new File("\\e")    File f3=new File(dir ,"data.txt")

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

public static final char separatorChar;

public static final  String separator;

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

3.常用方法:

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

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

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

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

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

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

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

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

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

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

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

      ※要想创建多级目录,要用mkdirs( );

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

      listFiles()   //显示当前文件夹下的文件名和子文件夹

4.递归方法:

  注意事项:利用子文件递归方法调用文件的子文件----使用递归时,一定要有递归的终止条件,并且调用次数也不要过多,否则会出现内存溢出. 

举例:public void listDir(File dir){

//参数dir是一个File类型的对象,代表是要显

示的目录

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]);//递归调用

}

5.过滤器:属于接口,不能实例化;

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

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

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

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

6.随机文件操作

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

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

RandomAccessFile(File file,String mode) ;

RandomAccessFile(String name,String mode);

※读写数据的常用方法

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

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

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

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

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

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

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

void setLength(long newLength) ;