栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java File类使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java File类使用

目录

一、File类

1、File的三种构造方法

2、File类创建文件和目录的方法

3、File类的判断和获取功能

4、File类的删除功能

5、File遍历目录

 二、IO流

1、字节流


一、File类

1、File的三种构造方法
package com.wxl.springbootpro01;


import org.junit.jupiter.api.Test;

import java.io.File;

public class MyTest {
    @Test
    public void test(){
        //File类的三种构造方法
        File f1=new File("E:\java\java.txt");
        System.out.println(f1);

        File f2=new File("E:\java","java.txt");
        System.out.println(f2);

        File f3=new File("E:\java");
        File f4=new File(f3,"java.txt");
        System.out.println(f4);
    }
}

效果:可以看到File里存的只是路径,路径并不一定真的存在对应的文件。

2、File类创建文件和目录的方法
方法用途
file.createNewFile()用于创建文件,不能创建目录。当文件或目录同名的存在时,该方法都不会再创建。
file.mkdir()用于创建单个目录。
file.mkdirs()可用于创建多层级的目录。

这些方法都是在创建成功时返回true,文件或目录存在时不创建返回false。

3、File类的判断和获取功能
方法描述
isDirectory()测试此抽象路径名表示的File是否为目录
isFile()测试此抽象路径名表示的File是否为文件
exists()测试此抽象路径名表示的File是否存在
getAbsolutePath()返回此抽象路径名的绝对路径名字字符串
getPath()将此抽象路径名转换为路径名字符串
getName()返回由此抽象路径名表示的文件或目录的名称
list()返回此抽象路径名表示的目录中的文件和目录的名字字符串数组
listFiles()返回此抽象路径名表示的目录中的文件和目录的File对象数组

4、File类的删除功能
delete()可以删除文件或目录,如果要删除的目录下有文件则会删除失败,必须先删除目录下的内容再删除目录。

5、File遍历目录
package com.wxl.springbootpro01;


import org.junit.jupiter.api.Test;

import java.io.File;

public class MyTest {
    @Test
    public void test(){
        File srcFile=new File("D:\DataQuery");

        getAllFilePath(srcFile);
    }

    public void getAllFilePath(File srcFile){
        //获取File目录下的所有文件或者目录的File数组
        File[] fileArray=srcFile.listFiles();
        //遍历File数组,得到没有个File对象
        if(fileArray!=null){
            for(File file:fileArray){
                //判断File对象是否为目录
                if(file.isDirectory()){
                    //是,递归调用
                    getAllFilePath(file);
                }else{
                    //不是,获取绝对路径输出控制台
                    System.out.println(file.getAbsolutePath());
                }
            }
        }
    }
}

运行结果:目录下所有文件名获取到

 二、IO流

1、字节流

文件读写时使用字节流能避免很多不必要的麻烦,字符串转换为字节类型可以使用.getBytes()方法。

字节流抽象基类

inputStream:所有输入类的超类

outputStream: 所有输出类的超类

FileOutputStream使用案例:

package com.wxl.springbootpro01;


import org.junit.jupiter.api.Test;

import java.io.FileOutputStream;
import java.io.IOException;

public class MyTest {
    @Test
    public void test() throws IOException {
        //创建字节输出流对象
        FileOutputStream fos=new FileOutputStream("test.txt",true);//true表示追加写入
        
        fos.write(97);

        //最后一定要释放资源
        fos.close();
    }

}

效果:创建了该文件,并写入了数据。 

 

FileInputStream使用案例:

package com.wxl.springbootpro01;

import org.junit.jupiter.api.Test;
import java.io.FileInputStream;
import java.io.IOException;

public class MyTest {
    @Test
    public void test() throws IOException {
        //创建字节输入流对象
        FileInputStream fis = new FileInputStream("test.txt");

        int by = -1;
        while ((by=fis.read())!= -1) {//没读取到文件时返回-1
            System.out.print((char) by);
        }

        //最后一定要释放资源
        fis.close();
    }

}

效果:可以看到文件已被读取,不过编码格式不对造成乱码。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号