Java文件类File详解

java.io.File类

  • 凡是与输入、输出相关的类、接口等都定义在java.io包下
  • File是一个类,可以有构造器创建其对象。此对象对应着一个文件(.txt .avi .doc .ppt .mp3 .jpg)或文件目录
  • File类对象是与平台无关的
  • File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及文件内容的,File是无能为力的,必须由io流来完成
  • File类的对象常作为io流的具体类的构造器的形参

一、createNewFile()  delete()  lastModified()   exists()  

package com.yyx.pratice;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class JavaPratice {
    public static void main(String[] args) {
        String filePath = "D:" + File.separator + "testfile.txt";
        System.out.println(filePath);
        File file = new File(filePath);
        // 判断文件是否存在且是不是文件
        if (file.isFile() && file.exists()) {
            // 删除文件
            file.delete();
        } else {
            try {
                // 创建文件
                file.createNewFile();
                //打印文件最后编辑时间
                System.out.println(new Date(file.lastModified()));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

二、mkDir()  mkDirs()  list()  listFiles()

package com.yyx.pratice;

import java.io.File;
import java.io.IOException;

public class JavaPratice {
    public static void main(String[] args) {
        /*
         * mkDir():创建一个文件目录。只有在上层文件目录存在的情况下,才能返回true            mkDirs():创建一个文件目录。若上层文件目录不存在,一并创建
         */
        String mkdirPath = "D:" + File.separator + "testfile";
        File mkdirFile = new File(mkdirPath);
        if (!mkdirFile.exists()) {
            mkdirFile.mkdir();
        }

        String mkdirsPath1 = "D:" + File.separator + "testfile" + File.separator + "file1";
        File mkdirsFile1 = new File(mkdirsPath1);
        if (!mkdirsFile1.exists()) {
            mkdirsFile1.mkdir();
        }

        String mkdirsPath2 = "D:" + File.separator + "testfile" + File.separator + "file2" + File.separator + "file3";
        File mkdirsFile2 = new File(mkdirsPath2);
        if (!mkdirsFile2.exists()) {
            mkdirsFile2.mkdirs();
        }

        /*
         * 只有上级目录存在,才能在该目录下创建文件
         */
        String filePath1 = "D:" + File.separator + "testfile" + File.separator + "filepath.txt";
        File file1 = new File(filePath1);
        if (!file1.exists()) {
            try {
                file1.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        String filePath2 = "D:" + File.separator + "testfile" + File.separator + "file1" + File.separator
                + "filepath1.txt";
        File file2 = new File(filePath2);
        if (!file2.exists()) {
            try {
                file2.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        /*
         * list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
         * listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件
         * 可以使用递归循环取出目录下的文件和目录
         */
        File file3 = new File(mkdirPath);
        String[] strs = file3.list();
        for (int i = 0; i < strs.length; i++) {
            System.out.println(strs[i]);
        }

        System.out.println("*******************");

        File[] files = file3.listFiles();
        for (int i = 0; i < files.length; i++) {
            System.out.println(files[i].getName());
        }
    }
}

原文地址:https://www.cnblogs.com/xianya/p/9185590.html

时间: 2024-08-06 10:41:38

Java文件类File详解的相关文章

Java输入输出流(NIO)-----文件类File详解

   1.java.io.File类简介 凡是与输入.输出相关的类.接口等都定义在java.io包下 File是一个类,可以有构造器创建其对象.此对象对应着一个文件(.txt .avi .doc .ppt .mp3 .jpg)或文件目录 File类对象是与平台无关的 File中的方法,仅涉及到如何创建.删除.重命名等等.只要涉及文件内容的,File是无能为力的,必须由io流来完成 File类的对象常作为io流的具体类的构造器的形参    2.createNewFile()  delete()  

java Object类源代码详解 及native (转自 http://blog.csdn.net/sjw890821sjw/article/details/8058843)

Java代码  package java.lang; public class Object { /* 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用.*/ private static native void registerNatives(); /* 对象初始化时自动调用此方法*/ static { registerNatives(); } /* 返回此 Object 的运行时类.*/ public final native Class<?> getClass();

Java枚举类enum详解

枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的.枚举类enum是一种特殊的类,它默认继承了类java.lang.Enum.和其它普通类一样,enum同样可以有成员变量.方法.构造器,也可以实现一个或多个接口,区别是: 如果有构造器,必须用private修饰. 枚举类不能派生子类. 枚举类所有的实例必须在第一行显示定义.系统会自动给这些实例加上public static final修饰,无须程序员显示定义. 枚举类默

Java工具类ToStringStyle详解

1.ToStringStyleToStringBuilder是字符串格式控制类,主要供公共接口总是通过ToStringBuilder来实现,这些类的目的是用作单例模式,没有必要每次都初始化一个新样式,程序通常使用这个类中预定义的常量之一,另外StandardToStringStyle类可以用来设置各种设置,因此大多是时候没有必要实现它的子类:如果是必须的,那么子类可以像它要求的那样覆盖尽可能多的方法,每种对象类型(从long到int到object)都有它对应的输出类型,大多数有两种版本,详情和摘

Properties类使用详解

Java Properties类使用详解 概述 Properties 继承于 Hashtable.表示一个持久的属性集,属性列表以key-value的形式存在,key和value都是字符串. Properties 类被许多Java类使用.例如,在获取环境变量时它就作为System.getProperties()方法的返回值. 我们在很多需要避免硬编码的应用场景下需要使用properties文件来加载程序需要的配置信息,比如JDBC.MyBatis框架等.Properties类则是properti

JSch - Java实现的SFTP(文件上传详解篇) 转

JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序. 本文只介绍如何使用JSch实现的SFTP功能. SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式.SFTP是使用加密传输认证信息和传输

Java记录 -22- Java的基类Object详解

Java的基类Object详解 Java的JDK文档要经常查阅使用,最好查看英文的文档. java.lang.Object 类,java.lang包在使用的时候无需显示导入,编译时由编译器自动帮助我们导入. API(Application Programinga Interface),应用编程接口. Object obj = new Object(); System.out.println(obj); System.out.println(obj.toString()); 上面打印的两个内容一样

MFC中文件对话框类CFileDialog详解及文件过滤器说明

当前位置?:?首页???文章分类?:? 开发 ??? MFC中文件对话框类CFileDialog详解及文件过滤器说明 上一篇 利用OpenCV从摄像头获得图像的坐标原点是在左下角 下一篇 Word中为图表生成目录 域名迁移公告 2017年12月20日起,本博客迁移到新域名madaimeng.com,旧域名masikkk.com不再更新内容,但将永久保持可访问! 阅读 大专栏  MFC中文件对话框类CFileDialog详解及文件过滤器说明busuanzi_value_page_pv"> 评

java.util.Scanner应用详解++扫描控制台输入

java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎么地. 一.扫描控制台输入 这个例子是常常会用到,但是如果没有Scanner,你写写就知道多难受了. 当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫