utool是一个小而全的Java工具类库,通过静态方法封装;我们需要使用hutool中的文件操作方法时,需要先在我们的maven工程中引入hutool的相关依赖
- <dependency>
- <groupId>cn.hutool</groupId>
- <artifactId>hutool-all</artifactId>
- <version>5.1.0</version>
- </dependency>
需要新建文件夹
package iotest;
import java.io.File;
import java.io.IOException;
import cn.hutool.core.io.FileUtil;
public class IoTest1 {
public static void main(String[] args) throws IOException {
File file1 = FileUtil.file("G:\\cmjworkspace\\111\\aaa");
System.out.println(file1.mkdirs());
}
}
其中我们需要注意点的是:
mkdir()是创建子目录。
如果你需要创建aaa这个文件夹,但是你的路径下没有“111”这个文件夹时,会出现无法创建“aaa”文件夹
mkdirs()是创建多级目录。
会将所需的文件夹父类的文件夹也会直接创建;也就是,如果路径下没有“111”这个文件夹,要创建“aaa”文件夹时,系统也会自动的将“111”文件夹创建好
新建文件:
package iotest;
import java.io.File;
import java.io.IOException;
import cn.hutool.core.io.FileUtil;
public class IoTest1 {
public static void main(String[] args) throws IOException {
File file1 = FileUtil.file("G:\\cmjworkspace\\111\\a.txt");
System.out.println(file1.createNewFile());
}
}
通过 FileUtil.file("G:\\cmjworkspace\\111\\a.txt")括号中跟随的是对应需要创建文件的路径及文件名称格式等:
通过对象名.createNewFile(),直接进行创建文件
执行完成后,就可以直接在对应的包下发现创建的文件;
复制文件:
package iotest;
import java.io.File;
import java.io.IOException;
import cn.hutool.core.io.FileUtil;
public class IoTest1 {
public static void main(String[] args) throws IOException {
File file1 = FileUtil.file("G:\\cmjworkspace\\111\\aaa");
File file2 = FileUtil.file("G:\\cmjworkspace\\111\\bvv");
FileUtil.copy(file1, file2, false);
}
}
其中: FileUtil.copy(file1, file2, false);
将file1的aaa包复制到file2“bvv”包下;false代表是否覆盖,false的话,就是不覆盖,直接复制
其中file1与file2也可以用对应包的路径代表
写文件:
package iotest;
import java.io.File;
import java.io.IOException;
import cn.hutool.core.io.FileUtil;
public class IoTest1 {
public static void main(String[] args) throws IOException {
File file1 = FileUtil.file("G:\\cmjworkspace\\111\\a.txt");
FileUtil.writeUtf8String("啊啊啊啊啊", file1);
}
}
写文件时,我们需要确认具体的哪个文件并且需要注明对应的格式:不能直接用文件夹
写文件时,通过 FileUtil.writeUtf8String("啊啊啊啊啊", file1);第一个写的是对应的文件里面的内容,“file1”也可以用对应文件的具体路径代表
如果将"啊啊啊啊啊"更换为其他的内容:例如:“1111”;则a.txt中的内容也会直接被修改为1111;并不会在后面直接添加“1111”
读取文件内容:
package iotest;
import java.io.File;
import java.io.IOException;
import cn.hutool.core.io.FileUtil;
public class IoTest1 {
public static void main(String[] args) throws IOException {
File file1 = FileUtil.file("G:\\cmjworkspace\\111\\a.txt");
FileUtil.writeUtf8String("1111", "G:\\cmjworkspace\\111\\a.txt");
String aaa = FileUtil.readUtf8String(file1);
System.out.println(aaa);
}
}
读取文件通过FileUtil.readUtf8String(文件路径);直接可以读取到文件中的所有内容