IO的常用操作——读和写

对文件本身的操作

File的4个构造函数以及增加文件

第一种构造函数的方式:public File(String pathname)
File file = new File("E:\\Test\\IOTest/a.jpg");
boolean newFile = file.createNewFile();

if(newFile){

    System.out.println("创建成功");

}else{

    //pathname是无误的,并且方法调用是没有问题的

    //创建一个已经存在的文件

    System.out.println("创建失败");

}
第二种构造函数的方式:public File(String parent, String child)
Parent:文件的父目录
Child:文件的子目录
这种方式,就是把第一种方式的路径修改
File file1 = new File("E:","Test\\IOTest/b.docx");

try {

    file1.createNewFile();

} catch (IOException e) {

    e.printStackTrace();

}
第三种构造函数的方式:public File(File parent, String child)
Parent:文件的对象
Child:文件的子目录
File file2 = new File(new File("E:"),"Test\\IOTest/c.docx");

try {

    file2.createNewFile();

} catch (IOException e) {

    e.printStackTrace();

}
第四种构造函数的方式:public File(URI uri) 
File file3 = new File("E:\\Test\\IOTest/b.jpg");

URI uri = file3.toURI();
File file4 = new File(uri);

try {

    file4.createNewFile();

} catch (IOException e) {

    e.printStackTrace();

}

增加目录

File file5 = new File("E:\\Test"+File.separator+"IOTest/cTest.docx");

boolean mkdir = file5.mkdir();

if(mkdir){

    System.out.println("创建成功");

}else{

    System.out.println("创建失败");

}

mkdir()和mkdirs()的区别:

mkdir()在父级目录不存在的情况下,子目录是无法创建的,会抛出异常

mkdirs()在父级目录不存在的情况下,子目录可以创建

删除

第一种方式:直接删除

File file6 = new File("E:\\Test\\IOTest/a.jpg");

file6.delete();
第二种方式:当程序运行完成的时候,才会删除
File file7 = new File("E:\\Test\\IOTest\\aTest");

file7.deleteOnExit();

if(file7.exists()){

    System.out.println("文件存在");

}
注意:当要删除的目录,下面还有其他的子目录,就不能够直接删除

修改

更改文件的位置和文件名

File file8 = new File("E:","Test/b.docx");

file8.renameTo(new File("E:","Test\\IOTest/brname.docx"));

将b.docx文件移动到IOTest文件下,并且改名为brname.docx

剪切  粘贴

查询

1、查询是否是一个文件
File file9 = new File("E:\\Test\\IOTest\\bTest");

System.out.println(file9.isFile());

2、查询是否是一个目录文件

File file10 = new File("E:\\Test\\IOTest\\bTest");

System.out.println(file10.isDirectory());

3、查询是否是一个隐藏文件

File file11 = new File("E:\\Test\\IOTest\\bTest");

System.out.println(file11.isHidden());
4、查询文件的名字
File file12 = new File("E:\\Test\\IOTest\\bTest");

System.out.println(file12.getName());

5、查询文件的大小

File file13 = new File("E:\\Test\\IOTest\\bTest");

System.out.println(file13.length());
6、查询文件
(1)List()返回String[]把file目录下的文件名义String对象储存在数组中
File file = new File("E:\\Test\\IOTest");

String[] list = file.list();

for(String i:list){

    System.out.println(i);

}
(2)ListFiles()返回的是file对象的数组,储存的是对象的路径名
File file = new File("E:\\Test\\IOTest");

File[] list = file.listFiles();

for(File i:list){

    System.out.println(i);

}
(3)List(FilenameFiter fiter)添加一个过滤规则,把符合规则的文件过滤出来
dir:路径名
name:文件名
class MyFileNameFiter implements FilenameFilter {

    @Override

    public boolean accept(File dir, String name) {//定义过滤规则

        System.out.println(dir+name);

        //普通文件

        if(name.endsWith(".docx")){

            return true;

        }

        return false;

    }

}
File file = new File("E:\\Test\\IOTest");

String[] list = file.list(new MyFileNameFiter());

for(String i:list){

    System.out.println(i);

}
(4)ListFiles(FilenameFiter fiter)添加一个过滤规则,把符合规则的文件过滤出来
class MyFiter implements FileFilter{

    @Override

    public boolean accept(File pathname) {//绝对地址加文件名

//        System.out.println(pathname);

        if(pathname.getName().endsWith(".docx")){

            return true;

        }

        return false;

    }

}
File file1 = new File("E:\\Test\\IOTest");

File[] files = file1.listFiles(new MyFiter());

for(File file:files){

    System.out.println(file);

}
(5)ListFiles(Fiter fiter)
FilenameFiter和Fiter的区别:
appect()方法的参数不一样:路径加文件名     全部的路径

对文件内容的操作,请关注下一篇~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值