文件操作类2(File类操作方法)

之前已经实现了文件创建操作,但是这个时候是直接创建在了根路径下,下面来创建包含有子目录的文件内容。

        File file=new File("e:"+File.separator+"demo"+File.separator+"test.txt");

直接使用以上代码是错的,因为有e盘,却没有demo目录存在,所以系统认为此时的路径不能使用,所以会出现创建错误,所以现在要想办法判断创建的父路径是否存在。

找到父路径:public File getParentFile();
创建目录:public boolean mkdir()//创建一级目录
public boolean mkdirs()//创建多级目录(包括一级) 日常使用的也是这个

范例:创建子目录文件

    public static void main(String[] args) throws Exception{
        File file=new File("e:"+File.separator+"demo"+File.separator+"test.txt");
        if(!file.getParentFile().exists()){
            file.getParentFile().mkdirs();//创建多级目录
        }
        
        if(file.exists()){//如果文件存在,则删除文件
            file.delete();
            return;
        }//否则创建文件
        System.out.println(file.createNewFile());
    }   

的确出现了demo目录以及txt文件

9003228-4af16f71557fb270.png
image.png

在File类里面还提供有一系列的取得文件信息内容的操作功能:
取得文件大小:public long length(),按照字节返回

    public static void main(String[] args) throws Exception{
        File file=new File("e:"+File.separator+"11.jpg");
        if(file.exists()){//首先判断文件是否存在
            System.out.println("size="+((double)file.length()/1024));
        }
    
    }   

大小/1024返回KB,并且化为double,因为long为长整型,不包含小数。

9003228-822ca683cc3582e6.png
image.png

四舍五入可以使用BigDecimal进行。

文件路径有时候不一定是文件结尾,还可能是以目录结果:

判断是否是文件:public boolean isFile()
判断是否是目录:public boolean isDictionary()
最近以此修改日期:public long lastModified();
然后将long改为Date型数据

    
    public static void main(String[] args) throws Exception{
        File file=new File("e:"+File.separator+"11.jpg");
        System.out.println(file.getPath());
        if(file.exists()){//首先判断文件是否存在
            System.out.println("is File=="+file.isFile());
            System.out.println("is Dictionary=="+file.isDirectory());
            System.out.println("last"+new SimpleDateFormat("yyyy-MM-dd").format(new Date(file.lastModified())));
            System.out.println("size="+((double)file.length()/1024));
        }
    
    }   

9003228-f279a9852d37c197.png
image.png

整个取的过程里面都是取的文件相关信息,不包括内容。

猜你喜欢

转载自blog.csdn.net/weixin_33736832/article/details/87040387