博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java IO学习一:File类
阅读量:7050 次
发布时间:2019-06-28

本文共 3372 字,大约阅读时间需要 11 分钟。

1,关于File类

File类是IO包中唯一代表磁盘文件本身的对象,
File类定义了一些与平台无关的方法来操作文件。
通过调用File类提供的各种方法,能够完成创建、删除文件、重命名文件、判断文件的读写权限权限是否存在、设置和查询文件的最近修改时间等操作。

2,File类主要操作

public static void main(String[] args) {        //File类的静态变量,分别代表当前系统下的:; ; \ \        System.out.println(File.pathSeparator);        System.out.println(File.pathSeparatorChar);        System.out.println(File.separator);        System.out.println(File.separatorChar);                String pathName = "D:" + File.separator + "mytemp";//在win下等同于:D:/mytemp 或 D:\\mytemp        /**         * File共有4中构造方法,没有无参构造方法         * 1,传入路径(常用)         * 2,传入URI         * 3,传入父File,子路径         * 4,传入父路径,子路径         */        File file = new File(pathName);//获得D:/mytemp这个对象        if(file.exists() && file.isDirectory()) {//file是否存在并且是否是目录            System.out.println("file是目录\n");            File[] files = file.listFiles();//获取目录下的子目录和文件(仅当层目录下)            System.out.println("目录下有:\n");            for(File f : files) {                System.out.println(f);            }            System.out.println("#############################\n");            System.out.println(files[0].isFile() ? "files[0]是文件" : "files[0]是目录");            System.out.println("files[0]的名字:" + files[0].getName());            System.out.println("files[0]的路径:" + files[0].getPath());            System.out.println("files[0]的绝对路径:" + files[0].getAbsolutePath());            System.out.println("files[0]的父目录路径" + files[0].getParent());            System.out.println(files[0].canRead() ? "files[0]可读" : "files[0]可读");            System.out.println(files[0].canWrite() ? "files[0]可写" : "files[0]可写");            System.out.println(files[0].canExecute() ? "files[0]可执行" : "files[0]可执行");            System.out.println(files[0].isAbsolute() ? "files[0]的路径是绝对路径" : "files[0]的路径不是绝对路径");            System.out.println("files[0]的路径转换为URI:" + files[0].toURI());            long lastModifiedTime = files[0].lastModified();//获得文件上次修改时间,单位s            Date date = new Date(lastModifiedTime);            SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");            String format = dateFormate.format(date);            System.out.println("files[0]的上次修改时间:" + format);            //删除文件的时候,不会进入回收站            //删除目录的时候,如果有子文件或子目录,不会删除成功            if(files[2].exists()) {                files[2].delete();//删除files[2],这是一个目录            }            if(files[6].exists()) {                files[6].deleteOnExit();//当虚拟机终止时删除files[6],这是一个文件            }        }    }

3,创建File

@Test    public void test() throws IOException {        File parent = new File("D:" + File.separator + "mytemp");        if(parent.exists()) {            System.out.println("父目录存在");            File childFile = new File(parent,"a.txt");            if(childFile.createNewFile()) {//创建文件,如果创建成功                System.out.println("文件创建成功!");//如果存在同名文件,不会创建            };            File childDirectory = new File(parent,"a");            if(childDirectory.mkdir()) {//创建目录,如果创建成功                System.out.println("目录创建成功!");//如果存在同名目录,不会创建            };        }    }

4,删除File

public static void deleteFile(File file) {        File[] files = file.listFiles();        if(files != null) {            for(File f : files) {                if(f.isDirectory()) {                    deleteFile(f);                }                f.delete();            }        }        file.delete();    }

转载地址:http://uwvol.baihongyu.com/

你可能感兴趣的文章
【BZOJ】1415 [Noi2005]聪聪和可可 期望DP+记忆化搜索
查看>>
android 7.1 调用相机崩溃解决办法
查看>>
------第二节-----------------第二讲----单链表的基本操作---------
查看>>
delegate代理设计模式
查看>>
花10分钟搞懂开源框架吧 - 【NancyFx.Net】
查看>>
GridView(网格视图)+MotionEvent(触控事件)实现可以拖动排序的网格图
查看>>
显示/隐藏Mac下的隐藏文件
查看>>
POJ-3565 Ants 空间点对不相交匹配-最小权值匹配
查看>>
springmvc(一)
查看>>
Hibernate与 MyBatis的比较
查看>>
awk调用shell命令的两种方法:system与print
查看>>
juqery模板 Templates
查看>>
移动浏览器中实现拨打电话,调用sms,发送email
查看>>
docker 搭建小型的node开发环境。
查看>>
Java第九次作业
查看>>
.Net Discovery系“.NET技术”列之-深入理解平台机制与性能影响 (中)
查看>>
1.文件重命名工具
查看>>
【java】json格式解析
查看>>
Linux开始结束ping命令
查看>>
开源一款私藏Management Studio插件,ProjkyAddin,送给所有使用SQLServer的园友们
查看>>