commons-io_IO操作_对文件进行操作
安装配置
在其官网(Commons IO – Download Apache Commons IO)下载好之后,在项目中导入
使用
1、复制文件
void copyFile(final File srcFile, final File destFile) //复制文件到另外一个文件 void long copyFile(final File input, final OutputStream output) //复制文件到输出流 void copyFileToDirectory( file1 , file2) //复制文件到一个指定的目录 //把输入流里面的内容复制到指定文件 void copyInputStreamToFile( InputStream source, File destination) //把URL 里面内容复制到文件。可以下载文件。 //参数1:URL资源 ; 参数2:目标文件 void copyURLToFile(final URL source, final File destination) //把URL 里面内容复制到文件。可以下载文件。 //参数1:URL资源 ; 参数2:目标文件;参数3:http连接超时时间 ; 参数4:读取超时时间 void copyURLToFile(final URL source, final File destination, final int connectionTimeout, final int readTimeout)
2、复制文件夹
//复制文件夹(文件夹里面的文件内容也会复制),file1和file2平级。 //参数1:文件夹; 参数2:文件夹 void copyDirectory( file1 , file2 ); //复制文件夹到另一个文件夹。 file1是file2的子文件夹. //参数1:文件夹; 参数2:文件夹 void copyDirectoryToDirectory( file1 , file2 ); //复制文件夹,带有文件过滤功能 void copyDirectory(File srcDir, File destDir, FileFilter filter)
3、文件移动
//文件夹移动,文件夹在内的所有文件都将移动 void moveDirectory(final File srcDir, final File destDir) //文件夹移动到另外一个文件内部。boolean createDestDir:如果destDir文件夹不存在,是否要创建一个 void moveDirectoryToDirectory(final File src, final File destDir, final boolean createDestDir) //移动文件 void moveFile(final File srcFile, final File destFile) //把文件移动到另外一个文件内部。boolean createDestDir:如果destDir文件夹不存在,是否要创建一个 void moveFileToDirectory(final File srcFile, final File destDir, final boolean createDestDir) //移动文件或者目录到指定的文件夹内。 //boolean createDestDir:如果destDir文件夹不存在,是否要创建一个 void moveToDirectory(final File src, final File destDir, final boolean createDestDir)
4、清空,删除文件夹
//删除一个文件夹,包括文件夹和文件夹里面所有的文件 void deleteDirectory(final File directory) //清空一个文件夹里面的所有的内容 void cleanDirectory(final File directory) //删除一个文件,会抛出异常 //如果file是文件夹,就删除文件夹及文件夹里面所有的内容。如果file是文件,就删除。 //如果某个文件/文件夹由于某些原因无法被删除,会抛出异常 void forceDelete(final File file) //删除一个文件,没有任何异常抛出 //如果file是文件夹,就删除文件夹及文件夹里面所有的内容。如果file是文件,就删除。 //如果某个文件/文件夹由于某些原因无法被删除,不会抛出任何异常 boolean deleteQuietly(final File file)
5、读取文件到something
//把文件读取到字节数组里面 byte[] readFileToByteArray(final File file) //把文件读取成字符串 ;Charset encoding:编码格式 String readFileToString(final File file, final Charset encoding) //把文件读取成字符串 ;String encoding:编码格式 String readFileToString(final File file, final String encoding) //把文件读取成字符串集合 ;Charset encoding:编码格式 List<String> readLines(final File file, final Charset encoding) //把文件读取成字符串集合 ;String encoding:编码格式 List<String> readLines(final File file, final String encoding)
6、something写入到文件
/*参数1:需要写入的文件,如果文件不存在,将自动创建。 参数2:需要写入的内容。 参数3:编码格式。 参数4:是否为追加模式( ture: 追加模式,把字符串追加到原内容后面)*/ //字符串写入文件 void writeStringToFile(final File file, final String data, final Charset encoding, final boolean append) //把字节数组数据写入文件中 void writeByteArrayToFile(final File file, final byte[] data, final int off, final int len, final boolean append) //容器内容写入文件中,String encoding为编码格式 void writeLines(final File file, final String encoding, final Collection<?> lines, final boolean append) //String lineEnding为每一个数据的结尾标识符 void writeLines(final File file, final String encoding, final Collection<?> lines, final String lineEnding, final boolean append) //往文件里写入内容,CharSequence data是需要写入的内容 void write(final File file, final CharSequence data, final String encoding, final boolean append)
7、获取文件的输入输出字节流
//获取输入流 FileInputStream openInputStream(final File file) //获取输出流 FileOutputStream openOutputStream(final File file)
8、其它
//判断文件夹内是否包含某个文件或者文件夹 boolean directoryContains(final File directory, final File child) //获取文件或者文件夹的大小 long sizeOf(final File file) //获取临时目录文件 File getTempDirectory() //获取临时目录路径 String getTempDirectoryPath() //获取用户目录文件 File getUserDirectory() //获取用户目录路径 static String getUserDirectoryPath() //如果不存在,新建文件或者创建单级目录或者多级目录 //如果存在,修改文件修改时间 void touch(final File file) //比较两个文件内容是否相同 boolean contentEquals(final File file1, final File file2)