| 限定符和类型 | 方法和说明 |
|---|---|
static <T> File |
FileUtils.appendLines(Collection<T> list,
File file,
Charset charset)
将列表写入文件,追加模式
|
static <T> File |
FileUtils.appendLines(Collection<T> list,
File file,
String charset)
将列表写入文件,追加模式
|
static <T> File |
FileUtils.appendLines(Collection<T> list,
String path,
Charset charset)
将列表写入文件,追加模式
|
static <T> File |
FileUtils.appendLines(Collection<T> list,
String path,
String charset)
将列表写入文件,追加模式
|
static File |
FileUtils.appendString(String content,
File file,
Charset charset)
将String写入文件,追加模式
|
static File |
FileUtils.appendString(String content,
File file,
String charset)
将String写入文件,追加模式
|
static File |
FileUtils.appendString(String content,
String path,
Charset charset)
将String写入文件,追加模式
|
static File |
FileUtils.appendString(String content,
String path,
String charset)
将String写入文件,追加模式
|
static <T> File |
FileUtils.appendUtf8Lines(Collection<T> list,
File file)
将列表写入文件,追加模式
|
static <T> File |
FileUtils.appendUtf8Lines(Collection<T> list,
String path)
将列表写入文件,追加模式
|
static File |
FileUtils.appendUtf8String(String content,
File file)
将String写入文件,UTF-8编码追加模式
|
static File |
FileUtils.appendUtf8String(String content,
String path)
将String写入文件,UTF-8编码追加模式
|
static Checksum |
FileUtils.checksum(File file,
Checksum checksum)
计算文件校验码
|
static Checksum |
IOUtils.checksum(InputStream in,
Checksum checksum)
计算流的校验码,计算后关闭流
|
static long |
FileUtils.checksumCRC32(File file)
计算文件CRC32校验码
|
static long |
IOUtils.checksumCRC32(InputStream in)
计算流CRC32校验码,计算后关闭流
|
static boolean |
FileUtils.clean(File directory)
清空文件夹
注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static boolean |
FileUtils.clean(String dirPath)
清空文件夹
注意:清空文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static boolean |
FileUtils.cleanEmpty(File directory)
清理空文件夹
此方法用于递归删除空的文件夹,不删除文件 如果传入的文件夹本身就是空的,删除这个文件夹 |
static boolean |
FileUtils.contentEquals(File file1,
File file2)
比较两个文件内容是否相同
首先比较长度,长度一致再比较内容 此方法来自Apache Commons io |
static boolean |
IOUtils.contentEquals(InputStream input1,
InputStream input2)
对比两个流内容是否相同
内部会转换流为 BufferedInputStream |
static boolean |
IOUtils.contentEquals(Reader input1,
Reader input2)
对比两个Reader的内容是否一致
内部会转换流为 BufferedInputStream |
static boolean |
FileUtils.contentEqualsIgnoreEOL(File file1,
File file2,
Charset charset)
比较两个文件内容是否相同
首先比较长度,长度一致再比较内容,比较内容采用按行读取,每行比较 此方法来自Apache Commons io |
static boolean |
IOUtils.contentEqualsIgnoreEOL(Reader input1,
Reader input2)
对比两个流内容是否相同,忽略EOL字符
内部会转换流为 BufferedInputStream |
static File |
FileUtils.copy(File src,
File dest,
boolean isOverride)
复制文件或目录
情况如下: 1、src和dest都为目录,则将src目录及其目录下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下 |
static long |
IOUtils.copy(FileInputStream in,
FileOutputStream out)
拷贝文件流,使用NIO
|
static long |
IOUtils.copy(InputStream in,
OutputStream out)
拷贝流,使用默认Buffer大小,拷贝后不关闭流
|
static long |
IOUtils.copy(InputStream in,
OutputStream out,
int bufferSize)
拷贝流,拷贝后不关闭流
|
static long |
IOUtils.copy(InputStream in,
OutputStream out,
int bufferSize,
StreamProgress streamProgress)
拷贝流,拷贝后不关闭流
|
static long |
IOUtils.copy(ReadableByteChannel in,
WritableByteChannel out)
拷贝流,使用NIO,不会关闭流
|
static long |
IOUtils.copy(ReadableByteChannel in,
WritableByteChannel out,
int bufferSize)
拷贝流,使用NIO,不会关闭流
|
static long |
IOUtils.copy(ReadableByteChannel in,
WritableByteChannel out,
int bufferSize,
StreamProgress streamProgress)
拷贝流,使用NIO,不会关闭流
|
static long |
IOUtils.copy(Reader reader,
Writer writer)
将Reader中的内容复制到Writer中 使用默认缓存大小,拷贝后不关闭Reader
|
static long |
IOUtils.copy(Reader reader,
Writer writer,
int bufferSize)
将Reader中的内容复制到Writer中,拷贝后不关闭Reader
|
static long |
IOUtils.copy(Reader reader,
Writer writer,
int bufferSize,
StreamProgress streamProgress)
将Reader中的内容复制到Writer中,拷贝后不关闭Reader
|
static File |
FileUtils.copy(String srcPath,
String destPath,
boolean isOverride)
复制文件或目录
如果目标文件为目录,则将源文件以相同文件名拷贝到目标目录 |
static long |
IOUtils.copyByNIO(InputStream in,
OutputStream out,
int bufferSize,
StreamProgress streamProgress)
拷贝流 thanks to: https://github.com/venusdrogon/feilong-io/blob/master/src/main/java/com/feilong/io/IOWriterUtil.java
本方法不会关闭流 |
static File |
FileUtils.copyContent(File src,
File dest,
boolean isOverride)
复制文件或目录
情况如下: 1、src和dest都为目录,则讲src下所有文件目录拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下 |
static File |
FileUtils.copyFile(File src,
File dest,
StandardCopyOption... options)
|
static Path |
FileUtils.copyFile(Path src,
Path dest,
StandardCopyOption... options)
|
static File |
FileUtils.copyFile(String src,
String dest,
StandardCopyOption... options)
|
static File |
FileUtils.copyFilesFromDir(File src,
File dest,
boolean isOverride)
复制文件或目录
情况如下: 1、src和dest都为目录,则讲src下所有文件(包括子目录)拷贝到dest下 2、src和dest都为文件,直接复制,名字为dest 3、src为文件,dest为目录,将src拷贝到dest目录下 |
static File |
FileUtils.createTempFile(File dir)
创建临时文件
创建后的文件名为 prefix[Randon].tmp |
static File |
FileUtils.createTempFile(File dir,
boolean isReCreat)
创建临时文件
创建后的文件名为 prefix[Randon].tmp |
static File |
FileUtils.createTempFile(String prefix,
String suffix,
File dir,
boolean isReCreat)
创建临时文件
创建后的文件名为 prefix[Randon].suffix From com.jodd.io.FileUtil |
static boolean |
FileUtils.del(File file)
删除文件或者文件夹
注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static boolean |
FileUtils.del(Path path)
删除文件或者文件夹
注意:删除文件夹时不会判断文件夹是否为空,如果不空则递归删除子文件或文件夹 某个文件删除失败会终止删除操作 |
static boolean |
FileUtils.del(String fullFileOrDirPath)
删除文件或者文件夹
路径如果为相对路径,会转换为ClassPath路径! |
static boolean |
FileUtils.equals(File file1,
File file2)
检查两个文件是否是同一个文件
所谓文件相同,是指File对象是否指向同一个文件或文件夹 |
static BasicFileAttributes |
FileUtils.getAttributes(Path path,
boolean isFollowLinks)
获取文件属性
|
static BOMInputStream |
FileUtils.getBOMInputStream(File file)
获得BOM输入流,用于处理带BOM头的文件
|
static BufferedInputStream |
FileUtils.getInputStream(File file)
获得输入流
|
static BufferedInputStream |
FileUtils.getInputStream(Path path)
获得输入流
|
static BufferedInputStream |
FileUtils.getInputStream(String path)
获得输入流
|
static BufferedOutputStream |
FileUtils.getOutputStream(File file)
获得一个输出流对象
|
static BufferedOutputStream |
FileUtils.getOutputStream(String path)
获得一个输出流对象
|
static PrintWriter |
FileUtils.getPrintWriter(File file,
String charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
static PrintWriter |
FileUtils.getPrintWriter(String path,
Charset charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
static PrintWriter |
FileUtils.getPrintWriter(String path,
String charset,
boolean isAppend)
获得一个打印写入对象,可以有print
|
static BufferedReader |
FileUtils.getReader(File file,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
FileUtils.getReader(File file,
String charsetName)
获得一个文件读取器
|
static BufferedReader |
FileUtils.getReader(Path path,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
FileUtils.getReader(String path,
Charset charset)
获得一个文件读取器
|
static BufferedReader |
FileUtils.getReader(String path,
String charsetName)
获得一个文件读取器
|
static String |
FileUtils.getType(File file)
根据文件流的头部信息获得文件类型
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为docx、xlsx、pptx、jar、war头信息无法区分,按照扩展名区分
|
static String |
FileTypeUtils.getType(File file)
根据文件流的头部信息获得文件类型
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为docx、xlsx、pptx、jar、war头信息无法区分,按照扩展名区分
|
static String |
FileTypeUtils.getType(InputStream in)
根据文件流的头部信息获得文件类型
|
static String |
FileTypeUtils.getTypeByPath(String path)
通过路径获得文件类型
|
static BufferedReader |
FileUtils.getUtf8Reader(File file)
获得一个文件读取器
|
static BufferedReader |
FileUtils.getUtf8Reader(Path path)
获得一个文件读取器
|
static BufferedReader |
FileUtils.getUtf8Reader(String path)
获得一个文件读取器
|
static BufferedWriter |
FileUtils.getWriter(File file,
Charset charset,
boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
FileUtils.getWriter(File file,
String charsetName,
boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
FileUtils.getWriter(String path,
Charset charset,
boolean isAppend)
获得一个带缓存的写入对象
|
static BufferedWriter |
FileUtils.getWriter(String path,
String charsetName,
boolean isAppend)
获得一个带缓存的写入对象
|
static boolean |
FileUtils.isSymlink(File file)
判断是否为符号链接文件
|
static List<String> |
FileUtils.listFileNames(String path)
获得指定目录下所有文件
不会扫描子目录 |
static <T> T |
FileUtils.load(File file,
Charset charset,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
FileUtils.load(String path,
Charset charset,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
FileUtils.load(String path,
String charset,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
FileUtils.loadUtf8(File file,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static <T> T |
FileUtils.loadUtf8(String path,
FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
static void |
FileUtils.move(File src,
File dest,
boolean isOverride)
移动文件或者目录
|
static String |
IOUtils.read(FileChannel fileChannel,
Charset charset)
从FileChannel中读取内容
|
static String |
IOUtils.read(FileChannel fileChannel,
String charsetName)
从FileChannel中读取内容,读取完毕后并不关闭Channel
|
static FastByteArrayOutputStream |
IOUtils.read(InputStream in)
从流中读取内容,读到输出流中,读取完毕后并不关闭流
|
static String |
IOUtils.read(InputStream in,
Charset charset)
从流中读取内容,读取完毕后并不关闭流
|
static String |
IOUtils.read(InputStream in,
String charsetName)
从流中读取内容
|
static FastByteArrayOutputStream |
IOUtils.read(ReadableByteChannel channel)
从流中读取内容,读到输出流中
|
static String |
IOUtils.read(ReadableByteChannel channel,
Charset charset)
从流中读取内容,读取完毕后并不关闭流
|
static String |
IOUtils.read(Reader reader)
从Reader中读取String,读取完毕后并不关闭Reader
|
static byte[] |
FileUtils.readBytes(File file)
读取文件所有数据
文件的长度不能超过Integer.MAX_VALUE |
static byte[] |
IOUtils.readBytes(InputStream in)
从流中读取bytes,读取完毕后关闭流
|
static byte[] |
IOUtils.readBytes(InputStream in,
boolean isCloseStream)
从流中读取bytes
|
static byte[] |
IOUtils.readBytes(InputStream in,
int length)
读取指定长度的byte数组,不关闭流
|
static byte[] |
FileUtils.readBytes(String filePath)
读取文件所有数据
文件的长度不能超过Integer.MAX_VALUE |
static String |
IOUtils.readHex(InputStream in,
int length,
boolean toLowerCase)
读取16进制字符串
|
static String |
IOUtils.readHex28Lower(InputStream in)
从流中读取前28个byte并转换为16进制,字母部分使用小写
|
static String |
IOUtils.readHex28Upper(InputStream in)
从流中读取前28个byte并转换为16进制,字母部分使用大写
|
static List<String> |
FileUtils.readLines(File file,
Charset charset)
从文件中读取每一行数据
|
static void |
FileUtils.readLines(File file,
Charset charset,
LineHandler lineHandler)
按行处理文件内容
|
static <T extends Collection<String>> |
FileUtils.readLines(File file,
Charset charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
FileUtils.readLines(File file,
String charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtils.readLines(File file,
String charset,
T collection)
从文件中读取每一行数据
|
static void |
IOUtils.readLines(InputStream in,
Charset charset,
LineHandler lineHandler)
按行读取数据,针对每行的数据做处理
|
static <T extends Collection<String>> |
IOUtils.readLines(InputStream in,
Charset charset,
T collection)
从流中读取内容
|
static <T extends Collection<String>> |
IOUtils.readLines(InputStream in,
String charsetName,
T collection)
从流中读取内容
|
static void |
IOUtils.readLines(Reader reader,
LineHandler lineHandler)
按行读取数据,针对每行的数据做处理
Reader自带编码定义,因此读取数据的编码跟随其编码。 |
static <T extends Collection<String>> |
IOUtils.readLines(Reader reader,
T collection)
从Reader中读取内容
|
static List<String> |
FileUtils.readLines(String path,
Charset charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtils.readLines(String path,
Charset charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
FileUtils.readLines(String path,
String charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtils.readLines(String path,
String charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
FileUtils.readLines(URL url,
Charset charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtils.readLines(URL url,
Charset charset,
T collection)
从文件中读取每一行数据
|
static List<String> |
FileUtils.readLines(URL url,
String charset)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtils.readLines(URL url,
String charsetName,
T collection)
从文件中读取每一行数据
|
static <T> T |
IOUtils.readObj(InputStream in)
从流中读取对象,即对象的反序列化
注意!!!
|
static <T> T |
IOUtils.readObj(InputStream in,
Class<T> clazz)
从流中读取对象,即对象的反序列化,读取后不关闭流
注意!!!
|
static <T> T |
IOUtils.readObj(ValidateObjectInputStream in,
Class<T> clazz)
从流中读取对象,即对象的反序列化,读取后不关闭流
此方法使用了
ValidateObjectInputStream中的黑白名单方式过滤类,用于避免反序列化漏洞通过构造 ValidateObjectInputStream,调用ValidateObjectInputStream.accept(Class[])
或者ValidateObjectInputStream.refuse(Class[])方法添加可以被序列化的类或者禁止序列化的类。 |
static String |
FileUtils.readString(File file,
Charset charset)
读取文件内容
|
static String |
FileUtils.readString(File file,
String charsetName)
读取文件内容
|
static String |
FileUtils.readString(String path,
Charset charset)
读取文件内容
|
static String |
FileUtils.readString(String path,
String charsetName)
读取文件内容
|
static String |
FileUtils.readString(URL url,
String charset)
读取文件内容
|
static String |
IOUtils.readUtf8(FileChannel fileChannel)
从FileChannel中读取UTF-8编码内容
|
static List<String> |
FileUtils.readUtf8Lines(File file)
从文件中读取每一行数据
|
static void |
FileUtils.readUtf8Lines(File file,
LineHandler lineHandler)
按行处理文件内容,编码为UTF-8
|
static <T extends Collection<String>> |
FileUtils.readUtf8Lines(File file,
T collection)
从文件中读取每一行数据,数据编码为UTF-8
|
static void |
IOUtils.readUtf8Lines(InputStream in,
LineHandler lineHandler)
按行读取UTF-8编码数据,针对每行的数据做处理
|
static <T extends Collection<String>> |
IOUtils.readUtf8Lines(InputStream in,
T collection)
从流中读取内容,使用UTF-8编码
|
static List<String> |
FileUtils.readUtf8Lines(String path)
从文件中读取每一行数据,编码为UTF-8
|
static <T extends Collection<String>> |
FileUtils.readUtf8Lines(String path,
T collection)
从文件中读取每一行的UTF-8编码数据
|
static List<String> |
FileUtils.readUtf8Lines(URL url)
从文件中读取每一行数据
|
static <T extends Collection<String>> |
FileUtils.readUtf8Lines(URL url,
T collection)
从文件中读取每一行数据,编码为UTF-8
|
static String |
FileUtils.readUtf8String(File file)
读取文件内容
|
static String |
FileUtils.readUtf8String(String path)
读取文件内容
|
static File |
FileUtils.touch(File file)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
static File |
FileUtils.touch(File parent,
String path)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
static File |
FileUtils.touch(String fullFilePath)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
static File |
FileUtils.touch(String parent,
String path)
创建文件及其父目录,如果这个文件存在,直接返回这个文件
此方法不对File对象类型做判断,如果File不存在,无法判断其类型 |
static void |
IOUtils.write(OutputStream out,
boolean isCloseOut,
byte[] content)
将byte[]写到流中
|
static void |
IOUtils.write(OutputStream out,
Charset charset,
boolean isCloseOut,
Object... contents)
将多部分内容写到流中,自动转换为字符串
|
static void |
IOUtils.write(OutputStream out,
String charsetName,
boolean isCloseOut,
Object... contents)
将多部分内容写到流中,自动转换为字符串
|
static File |
FileUtils.writeBytes(byte[] data,
File dest)
写数据到文件中
|
static File |
FileUtils.writeBytes(byte[] data,
File dest,
int off,
int len,
boolean isAppend)
写入数据到文件
|
static File |
FileUtils.writeBytes(byte[] data,
String path)
写数据到文件中
|
static File |
FileUtils.writeFromStream(InputStream in,
File dest)
将流的内容写入文件
|
static File |
FileUtils.writeFromStream(InputStream in,
String fullFilePath)
将流的内容写入文件
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
File file,
Charset charset)
将列表写入文件,覆盖模式
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
File file,
Charset charset,
boolean isAppend)
将列表写入文件
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
File file,
String charset)
将列表写入文件,覆盖模式
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
File file,
String charset,
boolean isAppend)
将列表写入文件
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
String path,
Charset charset)
将列表写入文件,覆盖模式
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
String path,
Charset charset,
boolean isAppend)
将列表写入文件
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
String path,
String charset)
将列表写入文件,覆盖模式
|
static <T> File |
FileUtils.writeLines(Collection<T> list,
String path,
String charset,
boolean isAppend)
将列表写入文件
|
static File |
FileUtils.writeMap(Map<?,?> map,
File file,
Charset charset,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
static void |
IOUtils.writeObj(OutputStream out,
boolean isCloseOut,
Serializable obj)
将多部分内容写到流中
|
static void |
IOUtils.writeObjects(OutputStream out,
boolean isCloseOut,
Serializable... contents)
将多部分内容写到流中
|
static File |
FileUtils.writeString(String content,
File file,
Charset charset)
将String写入文件,覆盖模式
|
static File |
FileUtils.writeString(String content,
File file,
String charset)
将String写入文件,覆盖模式
|
static File |
FileUtils.writeString(String content,
String path,
Charset charset)
将String写入文件,覆盖模式
|
static File |
FileUtils.writeString(String content,
String path,
String charset)
将String写入文件,覆盖模式
|
void |
FastByteArrayOutputStream.writeTo(OutputStream out)
写出
|
static long |
FileUtils.writeToStream(File file,
OutputStream out)
将文件写入流中
|
static long |
FileUtils.writeToStream(String fullFilePath,
OutputStream out)
将流的内容写入文件
|
static void |
IOUtils.writeUtf8(OutputStream out,
boolean isCloseOut,
Object... contents)
将多部分内容写到流中,自动转换为UTF-8字符串
|
static <T> File |
FileUtils.writeUtf8Lines(Collection<T> list,
File file)
将列表写入文件,覆盖模式,编码为UTF-8
|
static <T> File |
FileUtils.writeUtf8Lines(Collection<T> list,
String path)
将列表写入文件,覆盖模式,编码为UTF-8
|
static File |
FileUtils.writeUtf8Map(Map<?,?> map,
File file,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
static File |
FileUtils.writeUtf8String(String content,
File file)
将String写入文件,覆盖模式,字符集为UTF-8
|
static File |
FileUtils.writeUtf8String(String content,
String path)
将String写入文件,覆盖模式,字符集为UTF-8
|
| 限定符和类型 | 方法和说明 |
|---|---|
File |
FileWriter.append(byte[] data,
int off,
int len)
追加数据到文件
|
File |
FileWriter.append(String content)
将String写入文件,追加模式
|
<T> File |
FileWriter.appendLines(Collection<T> list)
将列表写入文件,追加模式
|
private void |
FileWriter.checkFile()
检查文件
|
private void |
FileReader.checkFile()
检查文件
|
File |
FileCopier.copy()
执行拷贝
拷贝规则为: 1、源为文件,目标为已存在目录,则拷贝到目录下,文件名不变 2、源为文件,目标为不存在路径,则目标以文件对待(自动创建父级目录)比如:/dest/aaa,如果aaa不存在,则aaa被当作文件名 3、源为文件,目标是一个已存在的文件,则当 FileCopier.setOverride(boolean)设为true时会被覆盖,默认不覆盖
4、源为目录,目标为已存在目录,当FileCopier.setCopyContentIfDir(boolean)为true时,只拷贝目录中的内容到目标目录中,否则整个源目录连同其目录拷贝到目标目录中
5、源为目录,目标为不存在路径,则自动创建目标为新目录,然后按照规则4复制
6、源为目录,目标为文件,抛出IO异常
7、源路径和目标路径相同时,抛出IO异常
|
BufferedInputStream |
FileReader.getInputStream()
获得输入流
|
BufferedOutputStream |
FileWriter.getOutputStream()
获得一个输出流对象
|
PrintWriter |
FileWriter.getPrintWriter(boolean isAppend)
获得一个打印写入对象,可以有print
|
BufferedReader |
FileReader.getReader()
获得一个文件读取器
|
BufferedWriter |
FileWriter.getWriter(boolean isAppend)
获得一个带缓存的写入对象
|
private void |
FileCopier.internalCopyDirContent(File src,
File dest)
拷贝目录内容,只用于内部,不做任何安全检查
拷贝内容的意思为源目录下的所有文件和目录拷贝到另一个目录下,而不拷贝源目录本身 |
private void |
FileCopier.internalCopyFile(File src,
File dest)
拷贝文件,只用于内部,不做任何安全检查
情况如下: 1、如果目标是一个不存在的路径,则目标以文件对待(自动创建父级目录)比如:/dest/aaa,如果aaa不存在,则aaa被当作文件名 2、如果目标是一个已存在的目录,则文件拷贝到此目录下,文件名与原文件名一致 |
<T> T |
FileReader.read(FileReader.ReaderHandler<T> readerHandler)
按照给定的readerHandler读取文件中的数据
|
byte[] |
FileReader.readBytes()
读取文件所有数据
文件的长度不能超过 Integer.MAX_VALUE |
List<String> |
FileReader.readLines()
从文件中读取每一行数据
|
void |
FileReader.readLines(LineHandler lineHandler)
按照行处理文件内容
|
<T extends Collection<String>> |
FileReader.readLines(T collection)
从文件中读取每一行数据
|
String |
FileReader.readString()
读取文件内容
|
File |
FileWriter.write(byte[] data,
int off,
int len)
写入数据到文件
|
File |
FileWriter.write(byte[] data,
int off,
int len,
boolean isAppend)
写入数据到文件
|
File |
FileWriter.write(String content)
将String写入文件,覆盖模式
|
File |
FileWriter.write(String content,
boolean isAppend)
将String写入文件
|
File |
FileWriter.writeFromStream(InputStream in)
将流的内容写入文件
此方法不会关闭输入流 |
<T> File |
FileWriter.writeLines(Collection<T> list)
将列表写入文件,覆盖模式
|
<T> File |
FileWriter.writeLines(Collection<T> list,
boolean isAppend)
将列表写入文件
|
<T> File |
FileWriter.writeLines(Collection<T> list,
LineSeparatorEnum lineSeparator,
boolean isAppend)
将列表写入文件
|
File |
FileWriter.writeMap(Map<?,?> map,
LineSeparatorEnum lineSeparator,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
File |
FileWriter.writeMap(Map<?,?> map,
String kvSeparator,
boolean isAppend)
将Map写入文件,每个键值对为一行,一行中键与值之间使用kvSeparator分隔
|
long |
FileReader.writeToStream(OutputStream out)
将文件写入流中
|
| 限定符和类型 | 类和说明 |
|---|---|
class |
NoResourceException
资源文件或资源不存在异常
|
| 限定符和类型 | 方法和说明 |
|---|---|
byte[] |
UrlResource.readBytes() |
byte[] |
Resource.readBytes()
读取资源内容,读取完毕后会关闭流
关闭流并不影响下一次读取 |
String |
UrlResource.readStr(Charset charset) |
String |
Resource.readStr(Charset charset)
读取资源内容,读取完毕后会关闭流
关闭流并不影响下一次读取 |
default String |
Resource.readUtf8Str()
读取资源内容,读取完毕后会关闭流
关闭流并不影响下一次读取 |
default void |
Resource.writeTo(OutputStream out)
将资源内容写出到流,不关闭输出流,但是关闭资源流
|
| 限定符和类型 | 方法和说明 |
|---|---|
static long |
UrlUtils.getContentLength(URL url)
获取指定URL对应资源的内容长度,对于Http,其长度使用Content-Length头决定。
|
static URL |
ResourceUtils.getResource(String resource)
获得资源的URL
路径用/分隔,例如: config/a/db.config spring/xml/test.xml |
static URL |
ClassUtils.getResourceUrl(String resource)
获得资源的URL
路径用/分隔,例如: config/a/db.config spring/xml/test.xml |
static File |
ZipUtils.unzip(ZipFile zipFile,
File outFile)
解压
|
private static void |
ZipUtils.write(ZipFile zipFile,
ZipEntry zipEntry,
File outItemFile)
从Zip中读取文件流并写出到文件
|
static File |
ZipUtils.zip(File zipFile,
Charset charset,
boolean withSrcDir,
FileFilter filter,
File... srcFiles)
对文件或文件目录进行压缩
|
static void |
ZipUtils.zip(OutputStream out,
Charset charset,
boolean withSrcDir,
FileFilter filter,
File... srcFiles)
对文件或文件目录进行压缩
|
static void |
ZipUtils.zip(ZipOutputStream zipOutputStream,
boolean withSrcDir,
FileFilter filter,
File... srcFiles)
对文件或文件目录进行压缩
|
Copyright © 2020. All rights reserved.