JAVA——输入、输出流(File类)

一、File类

1、File类的对象主要用来获取文件本身的一些信息,例如文件所在的目录、文件的长度或文件读写权限等,不涉及对文件的读写操作。

2、创建一个File对象的构造方法有3个:

  • File(String filename);//filename:文件名
  • File(String directoryPath,String filename);//directoryPath:文件 路径
  • File(File dir,String filename);//dir:一个目录

3、文件的属性

经常使用File类的下列方法获取文件本身的信息

package Test;
import java.io.File;
import java.io.IOException;

/*
File类

//获取文件的名字
public String getName() {
        return null;
        }
//判断文件是否可读
public boolean canRead(){
        return true;
        }
//判断文件是否可被写入
public boolean canWrite(){
        return true;
        }
//判断文件是否存在
public boolean exists(){
        return true;
        }
//获取文件的长度(单位是字节)
public void length(){
        }
//获取文件的绝对路径
public String getAbsolutePath(){
        return null;
        }
//获取文件父母录
public String getParent(){
        return null;
        }
//判断是否是一个普通文件,而不是目录
public boolean ifFile(){
        return true;
        }
//判断文件是否是一个目录
public boolean isDirectory(){
        return true;
        }
//判断文件是否是隐藏文件
public boolean isHidden(){
        return true;
        }
//获取文件的最后修改时间
public Object lastModified(){
        return null;
        }
 */
//以下是例子:
public class Test_1 {
    public static void main(String[] args) {
        String path = "E:\soft";
        File f = new File(path,"E:\soft");
        System.out.println(f.getName()+"是可读的吗:"+f.canRead());
        System.out.println(f.getName()+"的长度:"+f.length());
        System.out.println(f.getName()+"的绝对路径:"+f.getAbsolutePath());
        File file = new File(path,"b.txt");
        System.out.println("在当前目录下创建新文件"+file.getName());
        if(!file.exists()){
            try{
 file.createNewFile();
                System.out.println("创建成功");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

4、目录

例子:

 1 package Test;
 2 
 3 import java.io.File;
 4 
 5 public class dir {
 6     public static void main(String[] args) {
 7         File dirFile = new File(".");
 8         FileAccept fileAccept = new FileAccept() ;
 9         fileAccept.setExtendName("java");
10         String filename[] = dirFile.list(fileAccept);
11         for(String name:filename){
12             System.out.println(name);
13         }
14     }
15 }
 1 package Test;
 2 
 3 import java.io.File;
 4 import java.io.FilenameFilter;
 5 
 6 public class FileAccept implements FilenameFilter {
 7     private String extendName;
 8     public void setExtendName(String s){
 9         extendName = "."+s;
10     }
11     public boolean accept(File dir, String name){
12         return name.endsWith(extendName);
13     }
14 }
原文地址:https://www.cnblogs.com/zhaizhai-1/p/13994654.html