目錄
CommonsIO的使用
1.環境搭建
2.使用案例
2.1 擷取檔案大小
2.2 列出子孫級目錄
2.3 讀取檔案内容
2.4 寫出檔案内容
2.5 拷貝檔案
CommonsIO的使用
1.環境搭建
引入jar包
2.使用案例
2.1 擷取檔案大小
/**
* 擷取檔案大小
*
*/
public class CIOTest01 {
public static void main(String[] args) {
//檔案大小
long len =FileUtils.sizeOf(new File("src/com/sxt/commons/CIOTest01.java"));
System.out.println(len);
//目錄大小
len = FileUtils.sizeOf(new File("D:/java300/IO_study04"));
System.out.println(len);
}
}
2.2 列出子孫級目錄
/**
* 列出子孫級
*
*/
public class CIOTest02 {
public static void main(String[] args) {
Collection<File> files =FileUtils.listFiles(new File("D:\\java300\\IO_study04"),
EmptyFileFilter.NOT_EMPTY, null);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("---------------------");
files =FileUtils.listFiles(new File("D:\\java300\\IO_study04"),
EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("---------------------");
files =FileUtils.listFiles(new File("D:\\java300\\IO_study04"),
new SuffixFileFilter("java"), DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("---------------------");
files =FileUtils.listFiles(new File("D:\\java300\\IO_study04"),
FileFilterUtils.or(new SuffixFileFilter("java"),
new SuffixFileFilter("class"),EmptyFileFilter.EMPTY), DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("---------------------");
files =FileUtils.listFiles(new File("D:\\java300\\IO_study04"),
FileFilterUtils.and(new SuffixFileFilter("java"),
EmptyFileFilter.NOT_EMPTY), DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
}
}
2.3 讀取檔案内容
/**
* 讀取内容
*
*/
public class CIOTest03 {
public static void main(String[] args) throws IOException {
//讀取檔案
String msg =FileUtils.readFileToString(new File("emp.txt"),"UTF-8");
System.out.println(msg);
byte[] datas = FileUtils.readFileToByteArray(new File("emp.txt"));
System.out.println(datas.length);
//逐行讀取
List<String> msgs= FileUtils.readLines(new File("emp.txt"),"UTF-8");
for (String string : msgs) {
System.out.println(string);
}
LineIterator it =FileUtils.lineIterator(new File("emp.txt"),"UTF-8");
while(it.hasNext()) {
System.out.println(it.nextLine());
}
}
}
2.4 寫出檔案内容
/**
* 寫出内容
*
*/
public class CIOTest04 {
public static void main(String[] args) throws IOException {
//寫出檔案
FileUtils.write(new File("happy.sxt"), "學習是一件偉大的事業\r\n","UTF-8");
FileUtils.writeStringToFile(new File("happy.sxt"), "學習是一件辛苦的事業\r\n","UTF-8",true);
FileUtils.writeByteArrayToFile(new File("happy.sxt"), "學習是一件幸福的事業\r\n".getBytes("UTF-8"),true);
//寫出清單
List<String> datas =new ArrayList<String>();
datas.add("馬雲");
datas.add("馬化騰");
datas.add("弼馬溫");
FileUtils.writeLines(new File("happy.sxt"), datas,"。。。。。",true);
}
}
2.5 拷貝檔案
/**
* 拷貝
*
*/
public class CIOTest05 {
public static void main(String[] args) throws IOException {
//複制檔案
//FileUtils.copyFile(new File("p.png"),new File("p-copy.png"));
//複制檔案到目錄
//FileUtils.copyFileToDirectory(new File("p.png"),new File("lib"));
//複制目錄到目錄
//FileUtils.copyDirectoryToDirectory(new File("lib"),new File("lib2"));
//複制目錄
//FileUtils.copyDirectory(new File("lib"),new File("lib2"));
//拷貝URL内容
//String url = "https://pic2.zhimg.com/v2-7d01cab20858648cbf62333a7988e6d0_qhd.jpg";
//FileUtils.copyURLToFile(new URL(url), new File("marvel.jpg"));
String datas =IOUtils.toString(new URL("http://www.163.com"), "gbk");
System.out.println(datas);
}
}