Java CommonsIO组件的下载和使用
1、百度搜索:CommonsIO,选择第一个网址打开,依次找到CommonsIO2.6,commons-io-2.6-bin.zip,点击下载
2、下载完成之后,打开文件夹,文件如下:
1、新建一个Java项目
2、导入下载的两个jar包到项目中:
commons-io-2.6.jar
commons-io-2.6-soruces.jar
1、计算文件或文件夹的大小:
FileUtils.sizeOf(File file)
2、列出当前目录下的下一级文件:
FileUtils.listFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)
我们来列出D盘的文件夹downLoad下的一级文件:
Collection<File> files1 = FileUtils.listFiles(new File("D:/downLoad"), EmptyFileFilter.NOT_EMPTY, null);
for (File file : files1) {
System.out.println(file.getAbsolutePath());
}
我们可以看到,输出结果中只有4个图片文件,而没有把图片目录下的文件提取出来,因为方法调用的是一级目录下的
3、列出D盘的文件夹downLoad下子孙级文件的方法:
Collection<File> files1 = FileUtils.listFiles(new File("D:/download"),
EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
for (File file : files1) {
System.out.println(file.getAbsolutePath());
}
4、添加过滤条件,列出D盘的文件夹downLoad下后缀名是png的子孙级文件的方法:
Collection<File> files2 = FileUtils.listFiles(new File("D:/download"),
new SuffixFileFilter("png"), DirectoryFileFilter.INSTANCE);
for (File file : files2) {
System.out.println(file.getAbsolutePath());
}
5、添加过滤条件,列出D盘的文件夹downLoad下后缀名是png或jpg的子孙级文件的方法:
Collection<File> files2 = FileUtils.listFiles(new File("D:/download"), FileFilterUtils.or(new SuffixFileFilter("jpg"),new SuffixFileFilter("png")), DirectoryFileFilter.INSTANCE);
for (File file : files2) {
System.out.println(file.getAbsolutePath());
}
6、读取文件:
FileUtils.readFileToString(File file, String encoding)
FileUtils.readFileToByteArray(File file)
7、逐行读取:
FileUtils.readLines(File file, String encoding)
FileUtils.lineIterator(File file, String encoding)
8、写出文件:
FileUtils.write(File file, CharSequence data, String encoding, boolean append)
FileUtils.writeStringToFile(File file, String data, String encoding, boolean append)
FileUtils.writeByteArrayToFile(File file, byte[] data, boolean append)
9、写出列表:
FileUtils.writeLines(File file, Collection<?> lines, String lineEnding, boolean append)
10、复制文件:FileUtils.copyFile(File srcFile, File destFile)
复制文件到目录下:FileUtils.copyFileToDirectory(File srcFile, File destDir)
复制一个文件夹:FileUtils.copyDirectory(File srcDir, File destDir)
复制一个文件夹到另一个文件夹下:
FileUtils.copyDirectoryToDirectory(File srcDir, File destDir)
11、下载网络图片:
FileUtils.copyURLToFile(URL source, File destination)
复制一张网络图片的地址,然后保存为baidu.jpg
12、下载网页源码:
IOUtils.toString(URL url, String encoding)