【JAVA IO】_File类笔记

来源:互联网 发布:软件需求分析笔试 编辑:程序博客网 时间:2024/06/03 17:41
【JAVA IO】_File类笔记

本章目标:

掌握File类的作用
可以使用File类中的方法对文件进行操作

File类

在整个io包中,唯一表示与文件有关的类就是File类。使用File类可以进行创建删除文件等常用操作。要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下:

public File(String pathname)



实例操作一:创建一个新文件
public boolean createNewFile() throws IOException


import java.io.File ;import java.io.IOException ;public class FileDemo01{    public static void main(String args[]){        File f = new File("d:\\test.txt") ;        // 实例化File类的对象        try{            f.createNewFile() ;        // 创建文件,根据给定的路径创建        }catch(IOException e){            e.printStackTrace() ;    // 输出异常信息        }    }};


分隔符问题:
windows中使用反斜杠:"\"
linux中使用正斜杠:"/"
如果要想让Java程序的可移植性继续保持,则最好根据所在的操作系统来自动使用分隔符。

File.separator;

import java.io.File ;import java.io.IOException ;public class FileDemo02{    public static void main(String args[]){        System.out.println("pathSeparator:" + File.pathSeparator) ;    // 调用静态常量        System.out.println("separator:" + File.separator) ;    // 调用静态常量    }};



以上程序修改如下:
import java.io.File ;import java.io.IOException ;public class FileDemo03{    public static void main(String args[]){        File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象        try{            f.createNewFile() ;        // 创建文件,根据给定的路径创建        }catch(IOException e){            e.printStackTrace() ;    // 输出异常信息        }    }};




实例操作二:删除一个指定的文件
public booleadn delete()


import java.io.File ;import java.io.IOException ;public class FileDemo04{    public static void main(String args[]){        File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象        f.delete() ;    // 删除文件    }};



在File类中可以使用exists()方法判断一个文件是否存在:
public boolean exists()

使用exists()方法后修改代码如下:

import java.io.File ;import java.io.IOException ;public class FileDemo05{    public static void main(String args[]){        File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象        if(f.exists()){    // 如果文件存在则删除            f.delete() ;    // 删除文件        }    }};




实例操作三:综合创建、删除文件的操作

import java.io.File ;import java.io.IOException ;public class FileDemo06{    public static void main(String args[]){        File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象        if(f.exists()){    // 如果文件存在则删除            f.delete() ;    // 删除文件        }else{            try{                f.createNewFile() ;        // 创建文件,根据给定的路径创建            }catch(IOException e){                e.printStackTrace() ;    // 输出异常信息            }        }    }};



实例操作四:创建一个文件夹
public boolean mkdir()

import java.io.File ;import java.io.IOException ;public class FileDemo07{    public static void main(String args[]){        File f = new File("d:"+File.separator+"mldn") ;        // 实例化File类的对象        f.mkdir() ;    // 创建文件夹    }};



实例操作五:列出指定目录的全部文件
public String[] list()
以File数组的形式返回:public File() listFiles()

操作一:

import java.io.File ;import java.io.IOException ;public class FileDemo08{    public static void main(String args[]){        File f = new File("d:"+File.separator) ;        // 实例化File类的对象        String str[] = f.list() ;    // 列出给定目录中的内容        for(int i=0;i<str.length;i++){            System.out.println(str[i]) ;        }    }};



操作二:

import java.io.File ;import java.io.IOException ;public class FileDemo09{    public static void main(String args[]){        File f = new File("d:"+File.separator) ;        // 实例化File类的对象        File files[] = f.listFiles() ;    // 列出全部内容        for(int i=0;i<files.length;i++){            System.out.println(files[i]) ;        }    }};



实例操作六:判断一个给定的路径是否是目录
public boolean isDirectory()

import java.io.File ;import java.io.IOException ;public class FileDemo10{    public static void main(String args[]){        File f = new File("d:"+File.separator) ;        // 实例化File类的对象        if(f.isDirectory()){    // 判断是否是目录            System.out.println(f.getPath() + "路径是目录。") ;        }else{            System.out.println(f.getPath() + "路径不是目录。") ;        }    }};



实例操作七:列出指定目录的全部内容

import java.io.File ;import java.io.IOException ;public class FileDemo11{    public static void main(String args[]){        File my = new File("d:" + File.separator) ;    // 操作路径        print(my) ;    }    public static void print(File file){    // 递归调用        if(file!=null){    // 判断对象是否为空            if(file.isDirectory()){    // 如果是目录                File f[] = file.listFiles() ;    // 列出全部的文件                if(f!=null){    // 判断此目录能否列出                    for(int i=0;i<f.length;i++){                        print(f[i]) ;    // 因为给的路径有可能是目录,所以,继续判断                    }                }            }else{                System.out.println(file) ;    // 输出路径            }        }    }};