IO流,File类的使用,mkdir,mkdirs,renameTo,判断功能,获取功能,高级获取功能

IO流File类的使用

我们如果在电脑硬盘里,如何实现创建文件夹和文件呢?

public class FileDemo {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        // 在G盘下创建一个demo文件夹
        File file = new File("G:\\demo");
        System.out.println("mkdir:"+file.mkdir());

我们利用了mkdir方法创建了一个文件夹,我们来看看效果

mkdir:true

我们打开电脑查看下是不是真的有.
这里写图片描述
ok创建成功,我们再来看看,IO流创建文件的方式

public class FileDemo {

    public static void main(String[] args) throws IOException {
        // TODO 自动生成的方法存根
        // 在G盘下创建一个demo文件夹
        File file = new File("G:\\demo");
        System.out.println("mkdirs:" + file.mkdirs());
        // 在G盘下创建一个1.txt文件
        File file2 = new File("G:\\demo\\1.txt");
        System.out.println(file2.createNewFile());


    }

}

运行结果如下

mkdirs:false
true

我们发现创建过了的文件夹是显示false ,所以当你创建了,就无法再新建了。
这里写图片描述

Mkdirs方法,当我们要创建多个文件夹的时候 ,就可以使用这个。

public class FileDemo {

    public static void main(String[] args) throws IOException {
        // TODO 自动生成的方法存根
        // 在G盘下创建一个demo文件夹
        File file = new File("G:\\demo");
        System.out.println("mkdir:" + file.mkdir());
        // 在G盘下创建一个1.txt文件
        File file2 = new File("G:\\demo\\1.txt");
        System.out.println(file2.createNewFile());
        //mkdirs
        File file3 = new File("G:\\aaa\\bb\\c");
        System.out.println("mkdirs:"+file3.mkdirs());

    }

}

mkdir:false
false
mkdirs:true

这里写图片描述

删除功能:

public class FileDemo {

    public static void main(String[] args) throws IOException {
        // TODO 自动生成的方法存根
        // 在G盘下创建一个demo文件夹
        File file = new File("G:\\demo");
        System.out.println("mkdir:" + file.mkdir());
        // 在G盘下创建一个1.txt文件
        File file2 = new File("G:\\demo\\1.txt");
        System.out.println(file2.createNewFile());
        //mkdirs
        File file3 = new File("G:\\aaa\\bb\\c");
        System.out.println("mkdirs:"+file3.mkdirs());
        //删除功能
        File file4 = new File("G:\\aaa\\bb\\c");
        System.out.println(file4.delete());

    }

}

结果为

true

也很简单,我们会发现刚刚创建的3个文件夹没有了

renameTo(重命名功能)

public class FileDemo2 {

    public static void main(String[] args) throws IOException {
        //创建一个文件
        File file = new File("123.txt");
        System.out.println(file.createNewFile());
        //重命名文件
        File newfile = new File("1234.txt");
        System.out.println("renameTo:" + file.renameTo(newfile));

    }
}

输出结果为:

renameTo:true

判断功能

我们查看下api
public boolean isDirectory() //是不是目录
public boolean isFile() //是不是文件
public boolean exists() //是否存在
public boolean canRead() //是否可读
public boolean canWrite() //是否可写
public boolean isHidden() //是不是隐藏
接下来我们来用代码实现下:
我们在项目目录里新建一个1234.txt

public class FileDemo3 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        /*/判断功能
        public boolean isDirectory()  //是不是目录
        public boolean isFile()    //是不是文件
        public boolean exists()  //是否存在
        public boolean canRead()  //是否可读
        public boolean canWrite()  //是否可写
        public boolean isHidden()  //是不是隐藏
*/

        File file = new File("1234.txt");
        System.out.println("isDirectory----"+file.isDirectory());
        System.out.println("isFile----"+file.isFile());
        System.out.println("exists----"+file.exists());
        System.out.println("canRead----"+file.canRead());
        System.out.println("isHidden----"+file.isHidden());


    }

}

运行结果如下:

isDirectory—-false
isFile—-true
exists—-true
canRead—-true
isHidden—-false

获取功能

public String getAbsolutePath()//获取绝对路径
public String getPath()获取相对路径
public String getName()获取名字
public long length()获取长度,字节
public long lastModified()获取最后修改时间
File file = new File("demo\\1234.txt");
        System.out.println("getAbsolutePath----"+file.getAbsolutePath());
        System.out.println("getPath----"+file.getPath());
        System.out.println("getName----"+file.getName());
        System.out.println("length----"+file.length());
        System.out.println("lastModified----"+file.lastModified());





    }

}

输出结果:

getAbsolutePath—-G:\eclipse\workspace\day24\demo\1234.txt
getPath—-demo\1234.txt
getName—-1234.txt
length—-0
lastModified—-1486612486562

高级获取功能

// 高级获取功能
        File file = new File("G:\\");
        // public String[] list()
        // public File[] listFiles()
        //获取改目录下的所有文件夹或者文件的数组名称 
        String[] string = file.list();
        for (String s : string) {
            System.out.println(s);

        }
        System.out.println("---------");
         //public File[] listFiles() 获取改目录下的所有文件或者file数组
        File[] string1 = file.listFiles();
        for (File f : string1) {
            System.out.println(f);

        }

    }

}

// public String[] list()
// public File[] listFiles()
我们利用这两个方法来获取了我磁盘的文件和名称 我们来看看效果

---------
$RECYCLE.BIN
aaa
ActivityTest
AS
Config.Msi
demo
eclipse
Hello
---------
G:\$RECYCLE.BIN
G:\aaa
G:\ActivityTest
G:\AS
G:\Config.Msi
G:\demo
G:\eclipse
G:\Hello

这就是输出了我磁盘的一些文件,当然你们运行的结果和我不一样。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值