Apache Commons IO

1. 简介

Apache Commons IO是第三方IO操作工具类库

  1. ## 3. FilenameUtils 工具类常用方法
  2. ### 3.1. getExtension

static String getExtension(String filename);

  1. - 获取路径中的扩展名(`.后缀名`)
  2. ### 3.2. getName

static String getName(String filename);


- 获取路径中的文件名包括(`.后缀名`)
### 3.3. isExtension

static boolean isExtension(String filename, String extension);


- 判断路径是否符合后缀名(extension),是返回`true`,否则返回`fale`
## 4. FileUtils 工具类常用方法
### 4.1. copyDirectory

static String readFileToString(File file);


- 读取文件中的内容转成字符串,使用默认编码GBK。可以定义使用什么编码。如下例:

String str = FileUtils.readFileToString(new File(“a.txt”), “utf8”);

### 4.2. write

void write(File file, CharSequence data);


- 将指定的字符串写出到目标文件中
### 4.3. writeStringToFile

static void writeStringToFile(File file, String data);


- 将指定字符串写出到目标文件中
### 4.4. copyFile

public static void copyFile(final File srcFile, final File destFile) throws IOException


- 将`srcFile`源文件复制到`destFile`目标位置中,如`destFile`不存在则会创建目标文件

public static void copyFile(final File srcFile, final File destFile, final boolean preserveFileDate) throws IOException


- 将`srcFile`源文件复制到`destFile`目标位置中,如`destFile`不存在则会创建目标文件
- `preserveFileDate`参数:用于指定复制后的文件修改日期是否与源文件一样,`true`代表与源文件一样。

public static long copyFile(final File input, final OutputStream output) throws IOException


- 将`input`源文件夹对象转成`output`输入流对象,写到目标文件夹中,如目标文件不存在,则会创建该文件
### 4.5. copyDirectory

public static void copyDirectory(final File srcDir, final File destDir) throws IOException


- 将`srcDir`源文件夹中内容复制到另一个`destDir`目标文件夹中

public static void copyDirectory(final File srcDir, final File destDir, final boolean preserveFileDate)


- 将`srcDir`源文件夹中内容复制到另一个`destDir`目标文件夹中
- `preserveFileDate`参数:用于指定复制后的文件修改日期是否与源文件一样,`true`代表与源文件一样。

public static void copyDirectory(final File srcDir, final File destDir, final FileFilter filter) throws IOException


- 将`srcDir`源文件夹中内容复制到另一个`destDir`目标文件夹中
- `FileFilter`参数:是一个函数式接口,用于实现对象目录的过滤功能,入参为当前源文件对象,返回`true`时表示复制该文件,否则表示不复制

public static void copyDirectory(final File srcDir, final File destDir, final FileFilter filter, final boolean preserveFileDate) throws IOException


- 将`srcDir`源文件夹中内容复制到另一个`destDir`目标文件夹中
- `FileFilter`参数:是一个函数式接口,用于实现对象目录的过滤功能,入参为当前源文件对象,返回`true`时表示复制该文件,否则表示不复制
- `preserveFileDate`参数:用于指定复制后的文件修改日期是否与源文件一样,`true`代表与源文件一样。


### 4.6. copyDirectoryToDirectory

static copyDirectoryToDirectory(File srcDir,File destDir);


- 将srcDir源文件夹中内容复制到另一个destDir目标文件夹中(多一个父级文件夹destDir)
## 5. IOUtils 类常用方法
### 5.1. copy

static int copy(InputStream input, OutputStream output)

```

  • 将一个字节输入流复制到一个字节输出流,返回复制的字节数