getTempDirectoryPath():返回临时目录路径;
getTempDirectory():返回临时目录文件路径的File实例;
getUserDirectoryPath():返回用户目录路径;
getUserDirectory():返回用户目录路径的File实例
openInputStream(File file):通过指定文件创建一个输入流;如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
byteCountToDisplaySize(long size):返回指定数值的计算机表示(KB,MB,GB);
touch(File file):更新指定文件最终修改时间和访问时间;若文件不存在则生成空文件;Closeable 是可以关闭的数据源或目标。调用 close 方法可释放对象保存的资源(如打开文件)。
convertFileCollectionToFileArray(Collection<File> files):把文件集合转换为数组形式;
contentEquals(File file1, File file2):比较两个文件内容是否相同;两个文件都不存在表示相同;不能比较目录,会抛出异常;
copyFileToDirectory(File srcFile, File destDir),copyFileToDirectory(File srcFile, File destDir, boolean preserveFileDate):拷贝源文件到指定目录;如果目标目录不存在,则会被创建;如果目标文件存在,源文件会把它覆盖;如果第三个参数为true,设置拷贝的目标文件最终修改时间与源文件时间一样;
copyFile(File input, OutputStream output):把一个文件写到输出流里;返回写入的字节数大小;
copyDirectory(File srcDir, File destDir),copyDirectory(File srcDir, File destDir,
boolean preserveFileDate),copyDirectory(File srcDir, File destDir,
FileFilter filter, boolean preserveFileDate):拷贝源目录及目录下所有文件到指定目录,第三个参数如果为true,设置拷贝后的目录最后修改时间与源目录时间相同
filter为过滤后的文件进行拷贝;
copyInputStreamToFile(InputStream source, File destination):把输入流中的内容写到指定文件中;
deleteDirectory(File directory):删除指定目录文件及目录下所有内容;
cleanDirectory(File directory):清空指定目录文件下所有内容,但不删除目录;
boolean deleteQuietly(File file):删除指定目录文件及目录下所有内容;但不抛出异常,异常在内部已经捕获;
readFileToString(File file, String encoding),readFileToString(File file):读取指定文件内容到一个字符串;第二个参数为指定的字符集编码;
readFileToByteArray(File file):读取指定文件到字节数组;
readLines(File file, String encoding):读取指定文件按行存入字符串List,第二个参数为指定的字符集编码;
writeStringToFile(File file, String data, String encoding),writeStringToFile(File file, String data, String encoding, boolean append):按指定的编码把字符串写入指定文件中;第四个参数如果为true,则把内容写到文件最后;如果文件不存在则创建;
writeByteArrayToFile(File file, byte[] data),writeByteArrayToFile(File file, byte[] data, boolean append):同上;
forceDelete(File file):删除指定文件,如果为目录,则清空目录并删除目录文件,如果为文件,直接删除文件;
forceDeleteOnExit(File file):在JVM退出时进行删除,如果为目录,则清空目录并删除目录文件,如果为文件,直接删除文件;
cleanDirectoryOnExit(File directory) :在JVM退出时清空目录;
forceMkdir(File directory):创建指定目录,如果失败抛出异常;
sizeOf(File file):返回指定文件大小或者目录下所有文件大小之和;
isFileNewer(File file, File reference):判断给定文件与比较文件哪个更新(创建时间更晚),第二个参数为参照文件;
isFileOlder(File file, File reference):判断给定文件与比较文件哪个更旧(创建时间更早),第二个参数为参照文件;
moveDirectory(File srcDir, File destDir):将源目录移动为指定目录;重命名那句代码,如果生命名成功就无须再移动文件了,如果生命名失败再进行拷贝和删除操作;
moveDirectoryToDirectory(File src, File destDir, boolean createDestDir):把源目录移动到指定目录下,如果目标目录不存在,根据第三个参数是否创建;如果不存在并且不创建,则会抛出异常;
moveFile(File srcFile, File destFile):移动文件,同上;
moveFileToDirectory(File srcFile, File destDir, boolean createDestDir):移动文件到指定目录;如果目标目录不存在,根据第三个参数是否创建;如果不存在并且不创建,则会抛出异常;
public static String getTempDirectoryPath() { return System.getProperty("java.io.tmpdir"); }
getTempDirectory():返回临时目录文件路径的File实例;
public static File getTempDirectory() { return new File(getTempDirectoryPath()); }
getUserDirectoryPath():返回用户目录路径;
public static String getUserDirectoryPath() { return System.getProperty("user.home"); }
getUserDirectory():返回用户目录路径的File实例
public static File getUserDirectory() { return new File(getUserDirectoryPath()); }
openInputStream(File file):通过指定文件创建一个输入流;如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
public static FileOutputStream openOutputStream(File file) throws IOException { return openOutputStream(file, false); }
public static FileOutputStream openOutputStream(File file, boolean append) throws IOException { if (file.exists()) { if (file.isDirectory()) { throw new IOException("File '" + file + "' exists but is a directory"); } if (file.canWrite() == false) { throw new IOException("File '" + file + "' cannot be written to"); } } else { File parent = file.getParentFile(); if (parent != null) { if (!parent.mkdirs() && !parent.isDirectory()) { throw new IOException("Directory '" + parent + "' could not be created"); } } } return new FileOutputStream(file, append); }
byteCountToDisplaySize(long size):返回指定数值的计算机表示(KB,MB,GB);
/** * The number of bytes in a kilobyte. */ public static final long ONE_KB = 1024; /** * The number of bytes in a megabyte. */ public static final long ONE_MB = ONE_KB * ONE_KB; /** * The number of bytes in a gigabyte. */ public static final long ONE_GB = ONE_KB * ONE_MB; public static String byteCountToDisplaySize(long size) { String displaySize; // if (size / ONE_EB > 0) { // displaySize = String.valueOf(size / ONE_EB) + " EB"; // } else if (size / ONE_PB > 0) { // displaySize = String.valueOf(size / ONE_PB) + " PB"; // } else if (size / ONE_TB > 0) { // displaySize = String.valueOf(size / ONE_TB) + " TB"; // } else if (size / ONE_GB > 0) { displaySize = String.valueOf(size / ONE_GB) + " GB"; } else if (size / ONE_MB > 0) { displaySize = String.valueOf(size / ONE_MB) + " MB"; } else if (size / ONE_KB > 0) { displaySize = String.valueOf(size / ONE_KB) + " KB"; } else { displaySize = String.valueOf(size) + " bytes"; } return displaySize; }
touch(File file):更新指定文件最终修改时间和访问时间;若文件不存在则生成空文件;Closeable 是可以关闭的数据源或目标。调用 close 方法可释放对象保存的资源(如打开文件)。
public static void touch(File file) throws IOException { if (!file.exists()) { OutputStream out = openOutputStream(file); IOUtils.closeQuietly(out); } boolean success = file.setLastModified(System.currentTimeMillis()); if (!success) { throw new IOException("Unable to set the last modification time for " + file); } } public static void closeQuietly(OutputStream output) { closeQuietly((Closeable)output); } public static void closeQuietly(Closeable closeable) { try { if (closeable != null) { closeable.close(); } } catch (IOException ioe) { // ignore } }
convertFileCollectionToFileArray(Collection<File> files):把文件集合转换为数组形式;
public static File[] convertFileCollectionToFileArray(Collection<File> files) { return files.toArray(new File[files.size()]); }
contentEquals(File file1, File file2):比较两个文件内容是否相同;两个文件都不存在表示相同;不能比较目录,会抛出异常;
public static boolean contentEquals(File file1, File file2) throws IOException { boolean file1Exists = file1.exists(); if (file1Exists != file2.exists()) { return false; } if (!file1Exists) { // two not existing files are equal return true; } if (file1.isDirectory() || file2.isDirectory()) { // don't want to compare directory contents throw new IOException("Can't compare directories, only files"); } if (file1.length() != file2.length()) { // lengths differ, cannot be equal return false; } if (file1.getCanonicalFile().equals(file2.getCanonicalFile())) { // same file return true; } InputStream input1 = null; InputStream input2 = null; try { input1 = new FileInputStream(file1); input2 = new FileInputStream(file2); return IOUtils.contentEquals(input1, input2); } finally { IOUtils.closeQuietly(input1); IOUtils.closeQuietly(input2); } }
copyFileToDirectory(File srcFile, File destDir),copyFileToDirectory(File srcFile, File destDir, boolean preserveFileDate):拷贝源文件到指定目录;如果目标目录不存在,则会被创建;如果目标文件存在,源文件会把它覆盖;如果第三个参数为true,设置拷贝的目标文件最终修改时间与源文件时间一样;
public static void copyFileToDirectory(File srcFile, File destDir) throws IOException { copyFileToDirectory(srcFile, destDir, true); }
copyFile(File input, OutputStream output):把一个文件写到输出流里;返回写入的字节数大小;
public static long copyFile(File input, OutputStream output) throws IOException { final FileInputStream fis = new FileInputStream(input); try { return IOUtils.copyLarge(fis, output); } finally { fis.close(); } }
copyDirectory(File srcDir, File destDir),copyDirectory(File srcDir, File destDir,
boolean preserveFileDate),copyDirectory(File srcDir, File destDir,
FileFilter filter, boolean preserveFileDate):拷贝源目录及目录下所有文件到指定目录,第三个参数如果为true,设置拷贝后的目录最后修改时间与源目录时间相同
filter为过滤后的文件进行拷贝;
public static void copyDirectory(File srcDir, File destDir) throws IOException { copyDirectory(srcDir, destDir, true); }
copyInputStreamToFile(InputStream source, File destination):把输入流中的内容写到指定文件中;
deleteDirectory(File directory):删除指定目录文件及目录下所有内容;
cleanDirectory(File directory):清空指定目录文件下所有内容,但不删除目录;
boolean deleteQuietly(File file):删除指定目录文件及目录下所有内容;但不抛出异常,异常在内部已经捕获;
readFileToString(File file, String encoding),readFileToString(File file):读取指定文件内容到一个字符串;第二个参数为指定的字符集编码;
readFileToByteArray(File file):读取指定文件到字节数组;
readLines(File file, String encoding):读取指定文件按行存入字符串List,第二个参数为指定的字符集编码;
writeStringToFile(File file, String data, String encoding),writeStringToFile(File file, String data, String encoding, boolean append):按指定的编码把字符串写入指定文件中;第四个参数如果为true,则把内容写到文件最后;如果文件不存在则创建;
writeByteArrayToFile(File file, byte[] data),writeByteArrayToFile(File file, byte[] data, boolean append):同上;
forceDelete(File file):删除指定文件,如果为目录,则清空目录并删除目录文件,如果为文件,直接删除文件;
forceDeleteOnExit(File file):在JVM退出时进行删除,如果为目录,则清空目录并删除目录文件,如果为文件,直接删除文件;
cleanDirectoryOnExit(File directory) :在JVM退出时清空目录;
forceMkdir(File directory):创建指定目录,如果失败抛出异常;
sizeOf(File file):返回指定文件大小或者目录下所有文件大小之和;
isFileNewer(File file, File reference):判断给定文件与比较文件哪个更新(创建时间更晚),第二个参数为参照文件;
isFileOlder(File file, File reference):判断给定文件与比较文件哪个更旧(创建时间更早),第二个参数为参照文件;
moveDirectory(File srcDir, File destDir):将源目录移动为指定目录;重命名那句代码,如果生命名成功就无须再移动文件了,如果生命名失败再进行拷贝和删除操作;
public static void moveDirectory(File srcDir, File destDir) throws IOException { if (srcDir == null) { throw new NullPointerException("Source must not be null"); } if (destDir == null) { throw new NullPointerException("Destination must not be null"); } if (!srcDir.exists()) { throw new FileNotFoundException("Source '" + srcDir + "' does not exist"); } if (!srcDir.isDirectory()) { throw new IOException("Source '" + srcDir + "' is not a directory"); } if (destDir.exists()) { throw new FileExistsException("Destination '" + destDir + "' already exists"); } boolean rename = srcDir.renameTo(destDir); if (!rename) { copyDirectory( srcDir, destDir ); deleteDirectory( srcDir ); if (srcDir.exists()) { throw new IOException("Failed to delete original directory '" + srcDir + "' after copy to '" + destDir + "'"); } } }
moveDirectoryToDirectory(File src, File destDir, boolean createDestDir):把源目录移动到指定目录下,如果目标目录不存在,根据第三个参数是否创建;如果不存在并且不创建,则会抛出异常;
moveFile(File srcFile, File destFile):移动文件,同上;
moveFileToDirectory(File srcFile, File destDir, boolean createDestDir):移动文件到指定目录;如果目标目录不存在,根据第三个参数是否创建;如果不存在并且不创建,则会抛出异常;
相关推荐
Apache Commons IO库中的`org.apache.commons.io.FileUtils`类是一个非常实用的工具类,它提供了大量方便、高效的方法,用于处理文件系统操作。这个类在Java开发中被广泛使用,尤其是在处理大量的文件读写和管理任务...
解决Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils 类似错误,需要导入jar包,下载地址是http://commons.apache.org/proper/commons-io/download_io.cgi
`org.apache.commons.io`是这个库的核心包,包含了许多与文件、流、过滤器、读写操作相关的类和工具。 1. **文件操作**: `FileUtils` 类提供了大量的静态方法,用于执行文件和目录的操作,如复制、移动、删除、创建...
import org.apache.commons.io.FileUtils; public class FileCopyExample { public static void main(String[] args) { try { FileUtils.copyFile(new File("源文件路径"), new File("目标文件路径")); } catch...
Commons IO 是 Apache Software Foundation 开发的一个 Java 库,它的核心组件是 `commons-io-2.6.jar`。这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将...
在描述中提到的"org.apache.commons.io.FileUtils"是Apache Commons IO中的一个关键类,它提供了大量静态方法来简化文件操作,如复制、移动、删除、读写文件等。以下是一些FileUtils类中的核心功能: 1. 文件复制:...
Apache Commons IO 是一个Java库,专注于提供各种I/O操作的实用工具类,这些操作包括文件、流、过滤器、读写、转换、检测等。在本案例中,我们讨论的是"commons-io-2.4"版本,这个版本包含了完整的Apache Commons IO...
"org.apache.commons jar" 指的是这个项目中相关组件的集合,通常包含多个模块,每个模块专注于特定的编程任务。 1. **Apache Commons Lang**: 这个模块提供了许多高级字符串处理、日期和时间操作、数学计算以及...
"org.apache.commons" 是这个项目的主要命名空间,包含了许多子包,用于实现各种实用功能。在这个压缩包中,你可能会找到如 Commons Lang、Commons IO、Commons Collections、Commons BeanUtils 等多个子项目的集合...
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,简化了常见的文件、流、过滤器、读写操作等任务。"commons-io-2.11.0.rar"是Apache Commons IO库的版本2.11.0的...
org.apache.tools.ant.util.FileUtils org.apache.tools.ant.util.JAXPUtils org.apache.tools.ant.util.Retryable org.apache.tools.ant.util.Tokenizer org.apache.tools.ant.util.UUEncoder org.apache....
Commons IO是Java编程语言中的一个开源库,由Apache软件基金会维护。这个库提供了一系列与输入输出操作相关的实用工具类,极大地简化了Java程序员处理IO任务的复杂性。标题提到的"commons-io-2.4.jar"是这个库的一个...
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,使得在处理文件、流、过滤器、读写操作时更加方便。"commons-io-2.5.jar"是Apache Commons IO库的一个版本,...
《Java IO流详解与commons-io-1.4.jar库的应用》 在Java编程语言中,IO(Input/Output)流是一组用于数据传输的类,它们允许程序读取和写入数据,无论是从磁盘、网络还是其他输入输出设备。Java的IO流系统是一个...
在Java开发中,进行文件操作是必不可少的一部分,Apache Commons IO库提供了一个非常方便的工具类FileUtils,它对Java基础的IO操作进行了封装,使得文件处理更加简洁易用。在本文中,我们将详细介绍FileUtils工具类...
《Apache Commons IO 2.6在Java开发中的应用详解》 Apache Commons IO是Apache软件基金会的一个开源项目,它提供了一系列实用的I/O操作工具,极大地简化了Java开发中与输入/输出相关的任务。其中,`commons-io-2.6....
"org.apache.commons" 指的是 Apache Commons 项目下的顶级命名空间,包含了多个子模块,每个模块都专注于解决特定的问题或提供特定的功能。这个 jar 包是将这些功能集合在一起的便利工具,便于开发者集成到自己的 ...
3. `org.apache.commons.io.output`: 同样,这里包含了一些特殊的输出流类,如`TeeOutputStream`(将输出流同时写入多个目的地)和`NullOutputStream`(不写入任何数据,仅用于占位)。 4. `org.apache.commons.io....
- 在代码中通过`import org.apache.commons.io.*;`来引用库。 - 根据具体需求,选择合适的类和方法进行I/O操作,例如使用`FileUtils`进行文件操作,`IOUtils`进行流操作等。 5. **示例代码** - 复制文件: ```...
`commons-io-2.6.jar`则是Apache Commons项目中另一个核心组件,它提供了一系列实用的I/O操作工具类,使得处理文件和流变得更加简单和高效。 1. **文件操作**:包括创建、复制、移动、删除文件,以及检查文件属性等...