31、java的IO File类方法操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18077275/article/details/89786495

1、输入流和输出流

输入、输出流提供一条通道程序,可以使用这条通道读取源中的数据或把数据传送到目的地。
把输入流的指向称作源,程序从指向源的输入流中读取源中的数据;
而输出流的指向是数据要去的一个目的地,程序通过向输出流中写入数据把数据传送到目的地。

2、File类

File对象主要用来获取文件本身的一些信息,不涉及对文件的读写操作。
创建一个File对象的构造方法有3个:
   File(String filename);
   File(String directoryPath,String filename);
   File(File f, String filename);
 3、文件的属性

File类的下列方法获取文件本身的一些信息。 
public String getName() 获取文件的名字。
public boolean canRead() 判断文件是否是可读的。
public boolean canWrite() 判断文件是否可被写入。
public boolean exits() 判断文件是否存在。
public long length() 获取文件的长度(单位是字节)。
public String getAbsolutePath() 获取文件的绝对路径。
public String getParent() 获取文件的父目录。
public boolean isFile() 判断文件是否是一个普通文件,而不是目录。
public boolean isDirectroy() 判断文件是否是一个目录。
public boolean isHidden() 判断文件是否是隐藏文件。
public long lastModified() 获取文件最后修改的时间。
 
4、文件的创建于删除

当使用File类创建一个文件对象后,例如
        File file=new File("c:\\myletter","letter.txt");
◆ 如果c:\myletter目录中没有名字为letter.txt文件,文件对象file调用方法  public boolean createNewFile();可以在c:\myletter目录中建立一个名字为letter.txt的
◆ 文件对象调用方法  public boolean delete()可以删除当前文件,例如:
   file.delete();  
 
5、目录

1.创建目录 public boolean mkdir()
2.列出目录中的文件 
◆ public String[] list() 用字符串形式返回目录下的全部文件。
◆ public File [] listFiles() 用File对象形式返回目录下的全部文件。 
◆ public String[] list(FilenameFilter obj) 用字符串形式返回目录下的指定类型的所有文件。
◆ public File [] listFiles(FilenameFilter obj) 用File对象形式返回目录下的指定类型所有文件。
   上述两方法的参数FilenameFilter是一个接口,该接口有一个方法:
    public boolean accept(File dir,String name); 
 
6、示例代码

FileAccept.java

import java.io.File;
import java.io.FilenameFilter;

public class FileAccept implements FilenameFilter{

    @Override
    public boolean accept(File dir, String name) {
        return name.endsWith("java");
    }

}

Demo34.java

import java.io.File;

public class Demo34 {

    public static void main(String[] args) {
        File file = new File("C:\\Users\\blue\\Desktop\\test\\a.txt");
        System.out.println(file.getName());
        System.out.println(file.length());
        System.out.println(file.getAbsolutePath());
        
        File file2 = new File("C:\\Users\\blue\\Desktop\\test");
        FileAccept fileAccept = new FileAccept();
        String[] fileNames = file2.list(fileAccept);
        for(String name:fileNames){
            System.out.println(name);
        }
//        if(!file2.exists()){
//            try {
//                file2.createNewFile();
//                System.out.println("创建文件成功");
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
    }

}
 

猜你喜欢

转载自blog.csdn.net/qq_18077275/article/details/89786495