一、commons-io三方架包
- 文件拷贝、文件上传,都是使用的是字节流
- 将自己写的文件拷贝操作,进行打包操作,打成jar包,然后导入工作空间,加载到
该项目的运行环境中来,在其他项目中就不用再去写代码,即可调用该方法。如下图所示:
1、Commons-io的使用步骤
-
Java是开源的,面向对象的,可以使用jar的形式进行类的引用。公认的比较好的文件
操作架包Commons-io。 -
网络中下载需要的jar,maven中央仓库,网址:添加链接描述
-
导入项目中进行使用,具体操作见代码:
package com.xingyun.commons;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.Test;
/**
* CommonsIO的使用
*
* @author langlang
*
* 2020年12月9日上午11:06:21
*/
public class CommonsIO {
// 文件名的操作 FilenameUtils
@Test
void fileNames() {
// 获取文件拓展名
String extension = FilenameUtils.getExtension("E:\\demo.txt");
System.out.println("文件的拓展名为" + extension);
// 获取名字
String name = FilenameUtils.getName("E:\\demo.txt");
System.out.println("文件名为" + name);
// 判断文件的拓展名是否正确
boolean extension2 = FilenameUtils.isExtension("E:\\demo.txt", "java");
System.out.println("是否是该拓展名" + extension2);
// 一次可以比较多个
String[] es = new String[] {
"jpg", "excel", "txt" };
System.out.println(FilenameUtils.isExtension("E:\\demo.txt", es));
// 比较是否相等
boolean equals = FilenameUtils.equals("E:\\demo.txt", "E:\\demo.txt");
System.out.println("两个文件名是否相等" + equals);
}
// 对文件的操作;FileUtils
@Test
void fileutil01() {
// 源文件和目标文件
File src = new File("E:\\demo.txt");
File dest = new File("E:\\newdemo.txt");
try {
FileUtils.copyFile(src, dest);
System.out.println("文件拷贝成功");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 对文件的操作;FileUtils
@Test
void fileutil02(){
// 源文件和目标文件
File src = new File("E:\\demo.txt");
File dest = new File("E:\\newdemo.txt");
try {
FileOutputStream fos = new FileOutputStream(dest);
FileUtils.copyFile(src, fos);
System.out.println("文件复制成功");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();