首先老师带我们了解了一下网站链接: link,计算机的权威网站
第一段代码讲:文件/目录的大小
package com.sxt.commons;
import java.io.File;
import org.apache.commons.io.FileUtils;
/**
* 大小
* @author 韩文韬
*
*/
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("C:/Users/韩文韬/eclipse-workspace/IO_study04"));
System.out.println(len);
}
}
输出结果为:
474
1138181
表示第一个java文件大小474个字节,第二个目录为1138181个字节;
第二段代码用各种命令列出目录的子孙级:
package com.sxt.commons;
import java.io.File;
import java.util.Collection;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.EmptyFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;
/**
* 列出子孙级
* @author 韩文韬
*
*/
public class CIOTest02 {
public static void main(String[] args) {
Collection<File> files=FileUtils.listFiles(new File("C:/Users/韩文韬/eclipse-workspace/IO_study04"), EmptyFileFilter.NOT_EMPTY, null);
for(File file:files)
{
System.out.println(file.getAbsolutePath());
}
System.out.println("######################");
files=FileUtils.listFiles(new File("C:/Users/韩文韬/eclipse-workspace/IO_study04"), EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
for(File file:files)
{
System.out.println(file.getAbsolutePath());
}
System.out.println("######################");
files=FileUtils.listFiles(new File("C:/Users/韩文韬/eclipse-workspace/IO_study04"), new SuffixFileFilter("java"), DirectoryFileFilter.INSTANCE);
for(File file:files)
{
System.out.println(file.getAbsolutePath());
}
System.out.println("######################");
files=FileUtils.listFiles(new File("C:/Users/韩文韬/eclipse-workspace/IO_study04"), FileFilterUtils.or(new SuffixFileFilter("java"),new SuffixFileFilter("class")), DirectoryFileFilter.INSTANCE);
for(File file:files)
{
System.out.println(file.getAbsolutePath());
}
System.out.println("######################");
files=FileUtils.listFiles(new File("C:/Users/韩文韬/eclipse-workspace/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("C:/Users/韩文韬/eclipse-workspace/IO_study04"), FileFilterUtils.and(new SuffixFileFilter("java"),EmptyFileFilter.NOT_EMPTY), DirectoryFileFilter.INSTANCE);
for(File file:files)
{
System.out.println(file.getAbsolutePath());
}
}
}
输出结果为:
C:\Users\韩文韬\eclipse-workspace\IO_study04\.classpath
C:\Users\韩文韬\eclipse-workspace\IO_study04\.project
C:\Users\韩文韬\eclipse-workspace\IO_study04\han.txt
C:\Users\韩文韬\eclipse-workspace\IO_study04\huawen.txt
C:\Users\韩文韬\eclipse-workspace\IO_study04\p-copy.png
C:\Users\韩文韬\eclipse-workspace\IO_study04\p.png
C:\Users\韩文韬\eclipse-workspace\IO_study04\wen.txt
######################
C:\Users\韩文韬\eclipse-workspace\IO_study04\.classpath
C:\Users\韩文韬\eclipse-workspace\IO_study04\.project
C:\Users\韩文韬\eclipse-workspace\IO_study04\.settings\org.eclipse.core.resources.prefs
C:\Users\韩文韬\eclipse-workspace\IO_study04\.settings\org.eclipse.jdt.core.prefs
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest01.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest02.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest03.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest04.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest05.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\han.txt
C:\Users\韩文韬\eclipse-workspace\IO_study04\huawen.txt
C:\Users\韩文韬\eclipse-workspace\IO_study04\lib\commons-io-2.6-sources.jar
C:\Users\韩文韬\eclipse-workspace\IO_study04\lib\commons-io-2.6.jar
C:\Users\韩文韬\eclipse-workspace\IO_study04\lib\p.png
C:\Users\韩文韬\eclipse-workspace\IO_study04\lib2\commons-io-2.6-sources.jar
C:\Users\韩文韬\eclipse-workspace\IO_study04\lib2\commons-io-2.6.jar
C:\Users\韩文韬\eclipse-workspace\IO_study04\lib2\p.png
C:\Users\韩文韬\eclipse-workspace\IO_study04\p-copy.png
C:\Users\韩文韬\eclipse-workspace\IO_study04\p.png
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest01.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest02.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest03.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest04.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest05.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\wen.txt
######################
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest01.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest02.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest03.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest04.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest05.java
######################
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest01.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest02.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest03.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest04.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest05.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest01.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest02.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest03.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest04.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest05.java
######################
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest01.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest02.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest03.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest04.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\bin\com\sxt\commons\CIOTest05.class
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest01.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest02.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest03.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest04.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest05.java
######################
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest01.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest02.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest03.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest04.java
C:\Users\韩文韬\eclipse-workspace\IO_study04\src\com\sxt\commons\CIOTest05.java
第三段代码为读取其内容:
package com.sxt.commons;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;
/**
* 读取内容
* @author 韩文韬
*
*/
public class CIOTest03 {
public static void main(String[] args) throws IOException {
//读取文件
String msg=FileUtils.readFileToString(new File("han.txt"),"UTF-8");
System.out.println(msg);
//读到字节数组中
byte[] datas=FileUtils.readFileToByteArray(new File("han.txt"));
System.out.println(datas.length);
//逐行读取
List<String> msgs=FileUtils.readLines(new File("han.txt"),"UTF-8");
for(String string:msgs)
{
System.out.println(string);
}
//迭代器
LineIterator it=FileUtils.lineIterator(new File("han.txt"),"UTF-8");
while(it.hasNext())
{
System.out.println(it.nextLine());
}
}
}
输出结果为:
君问归期未有期
巴山夜雨涨秋池
何日共剪西窗烛
却话巴山夜雨时
90
君问归期未有期
巴山夜雨涨秋池
何日共剪西窗烛
却话巴山夜雨时
君问归期未有期
巴山夜雨涨秋池
何日共剪西窗烛
却话巴山夜雨时
第四段代码为写出内容:
package com.sxt.commons;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
/**
* 写出内容
* @author 韩文韬
*
*/
public class CIOTest04 {
public static void main(String[] args) throws IOException {
//写出文件
FileUtils.write(new File("wen.txt"), "温故而知新\r\n","UTF-8");
FileUtils.writeStringToFile(new File("wen.txt"), "可以为师矣\r\n","UTF-8",true);
//操作字节数组
FileUtils.writeByteArrayToFile(new File("wen.txt"), "君不见高堂明镜悲白发\r\n".getBytes("UTF-8"),true);
//写出列表
List<String> datas=new ArrayList<String>();
datas.add("王维");
datas.add("李商隐");
datas.add("李白");
FileUtils.writeLines(new File("wen.txt"), datas,"--",true);
}
}
第五段代码为拷贝过程:
package com.sxt.commons;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
/**
* 拷贝
* @author 韩文韬
*
*/
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内容
//FileUtils.copyURLToFile(new URL("http://career.huawei.com/reccampportal/portal5/index.html#campus4/content.html"), new File("huawen.txt"));
String datas=IOUtils.toString(new URL("http://career.huawei.com/reccampportal/portal5/index.html#campus4/content.html"),"UTF-8");
System.out.println(datas);
}
}
至此:IO流结束。