Java之File类

版权声明:原创文章,但可以转载哦~ https://blog.csdn.net/Jarvenman/article/details/54808184

File类:存储在java.io包里
这里要明确一点,当new出来一个File的时候,不是真的new出来了一个文件,而是在内存中new出来了一个文件名,只有用对应的方法创建新文件的时候,文件才能被创建
(一)
1)File类的常见构造方法:
a. public File(String pathname)
以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储
b. public File(String parent,String child)
以parent为父路径,child为子路径创建File对象
2)File的静态属性String separator存储了当前系统的路径分隔符

注:这里说明一下,windows系统下和linux系统下,路径分隔符是不同的,windows系统的分隔符是反斜杠”\”,而linux系统下的分隔符是正斜杠”/”,设置了separator这样一个静态属性是为了保证Java程序在不同的系统下都可以执行
(二)
1)通过File对象可以访问文件的属性
public boolean canRead() //文件可读
public boolean canWrite() //文件可写
public boolean exist() //文件存在
public boolean isDirectory() //是目录?
public boolean isFile() //是文件?
public boolean isHidden() //被隐藏?
public long lastModified() //返回文件最后一次的修改时间
public long length() //返回文件的长度
public String getName() //返回文件名
public String getPath() //返回文件路径
2)通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)
public boolean createNewFile() throws IOException //创建新文件
public boolean delete() //删除文件
public boolean mkdir() //创建路径
public boolean mkdirs() //创建一系列路径

我们用一个程序来说明一下File类:

import java.io.*;
        //引用包
public class TestFile {
    public static void main(String[] args) {
        String separator = File.separator;
        //System.out.println(separator);
        String filename = "MyFile.txt";
        String path = "mypath1" + separator + "mypath2";
        File f = new File(path,filename);

        if(f.exists()) {
            System.out.println("文件名:" + f.getAbsolutePath());
            //输出文件的绝对路径
            System.out.println("文件大小:" + f.length());
        } else {
            f.getParentFile().mkdirs();
            /*
            f.getParentFile()是求其父路径
            mkdirs是建立一系列路径
            */
                try {
                f.createNewFile();
            }   catch(IOException e) {
                e.printStackTrace();
            }
            //防止抛出IOException
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Jarvenman/article/details/54808184
今日推荐