Java IO流

2018-12-19  本文已影响0人  啦啦啦_9a5f

一、File类

1.File:文件和目录路径名的抽象表示,File类的实例不可以改变

2.构造方法:

(1)File(File parent,String child):根据指定的父路径对象和文件路径创建File对象

File parent = new File("D:\\a");

File f = new File(parent,"b.txt");

(2)File(String pathname):// 将指定的路径名转换成一个File对象

File f = new File("D:\\a\\b.txt");//只是将File指向路径,如果所在路径没有该文件,也不会创造新的文件

(3)File(String parent,String child)//根据指定的父路径和文件路径创建File对象

File f = new File("D:\\a","b.txt");

3.File的常见功能:

(1)创建功能

boolean createNewFile(): 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。

boolean mkdir():创建此抽象路径名指定的目录。

boolean mkdirs():创建此抽象路径名指定的目录,包括所有必需但

(2)删除功能

boolean delete(): 删除此抽象路径名表示的文件或目录。

注意:删除一个文件夹,这个文件夹下面不能 有其他的文件和文件夹

(3)获取功能

File getAbsoluteFile():返回此抽象路径名的绝对路径名形式。

String getAbsolutePath(): 返回此抽象路径名的绝对路径名字符串。

String getName():返回由此抽象路径名表示的文件或目录的名称。

String getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。

File getParentFile():返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回null

String getPath() :返回创建file对象是给的路径

(4)判断功能

boolean exists():测试此抽象路径名表示的文件或目录是否存在。

boolean isAbsolute():测试此抽象路径名是否为绝对路径名。

boolean isDirectory():测试此抽象路径名表示的文件是否是文件夹 。

boolean isFile(): 测试此抽象路径名表示的文件是否是一个文件。

boolean isHidden():测试此抽象路径名指定的文件是否是一个隐藏文件。

long lastModified(): 返回此抽象路径名表示的文件最后一次被修改的时间,。

long length():返回文件字节数。

(5)修改功能

boolean renameTo(File dest):将当前File对象所指向的路径修改为指定File所指定的路径

File f1 = new File("a.txt")

File f2 = new File("b.txt")

f1.renamrTo(f2)

(6)重要获取功能

String[] list():返回当前路径下所有的文件和文件夹名称

string[] files = f.list();
for(int i = 0;i <files.length;i++){
System.out.println(files[i]);
}

File[] listFiles():可以获取的功能比String[] list多

File[] files = f.listFiles();
for(File file : files){
  System.out.println(file);
}

static File[] listRoots():返回的是所有盘符

File[] files = File.listRoots()
for(File file : files){
System.out.println(file);
}

例子:输出指定目录下所有的Java文件名(包含子目录)

if(file.isDirectory()){
  File[] files = file.listFiles();
  for(File f:files){
    if(f.isFile()){
        if(f.getName().endWith(".java")){
            System.out.println(f.getName());            }else{
            method(f);
        }
    } 
  }
}

例子:删除指定的目录(包含子目录)

注意:如果要删除一个目录,则需要先还是暗处这个目录下的所有子文件和子目录

public static void method(File f){
if(file.isDirectory()){
File[] files = file.listFiles();
for(File f: files){
  if(f.isFile()){
        f.delete();
    } 
    else if(f.isDirectory()){
        method(f);
    }
  file.delete();
  }
}
}
上一篇 下一篇

猜你喜欢

热点阅读