对文件的复制操作
public class CommosCopytest {
public static void main(String[] args) throws IOException {
//文件到文件
// FileUtils.copyFile(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),new File("F:/IDEA文件/Java初级IO流技术1/src/Copy.txt"));
//文件到目录
// FileUtils.copyFileToDirectory(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),new File("F:/IDEA文件/Java初级IO流技术1"));
//目录到目录
// FileUtils.copyDirectoryToDirectory(new File("F:/IDEA文件/Java初级IO流技术1/test"),new File("F:/IDEA文件/Java初级IO流技术1/test1"));
//复制目录
// FileUtils.copyDirectory(new File("F:/IDEA文件/Java初级IO流技术1/test"),new File("F:/IDEA文件/Java初级IO流技术1/test2"));
//拷贝URL的内容
// String url="http://a.hiphotos.baidu.com/image/h%3D300/sign=ae96796f44ed2e73e3e9802cb703a16d/6a63f6246b600c331fa84823144c510fd8f9a10c.jpg";
// FileUtils.copyURLToFile(new URL(url),new File("F:/IDEA文件/Java初级IO流技术1/src/copy.jpg"));
String datas= IOUtils.toString(new URL("http://www.baidu.com"),"utf8");
//网上的源码写入到指定的文件中
FileUtils.writeByteArrayToFile(new File("F:/IDEA文件/Java初级IO流技术/a.txt"),datas.getBytes("utf8"));
System.out.println(datas);
}
}
文件/文件夹的大小
public class Commostest {
public static void main(String[] args) {
Long len= FileUtils.sizeOf(new File("F:/网盘/百度云下载"));
Long len1=FileUtils.sizeOf(new File("C:/Users/Lenovo/Pictures/珠峰.jpg"));
System.out.println(len+"------>"+len1);
}
}
遍历子孙级
*有关过滤器及其他详细细节用法见代码注释
public class Commostest1 {
public static void main(String[] args) {
//fileFilter 文件过滤器 你想要那些东西EmptyFileFilter.NOT_EMPYT非空文件,DirFilter为
Collection<File> files = FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
EmptyFileFilter.NOT_EMPTY,//找出非空文件//EMPTY找出空文件
null);
for(File file:files){
System.out.println(file.getAbsoluteFile());
}
System.out.println(".......................");
files = FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
new SuffixFileFilter("txt"),// new SuffixFileFilter("java")只找出后缀为Java的文件
DirectoryFileFilter.INSTANCE);//表示操作的子孙级//DirectoryFileFilter.INSTANCE文件递归的方式进行进行文件过滤扫描
for(File file:files){
System.out.println(file.getAbsoluteFile());
}
System.out.println(".......................");
files = FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
FileFilterUtils.or(new SuffixFileFilter("java"),new SuffixFileFilter("txt")),// 找出后缀为Java与txt的文件,or后面的括号里可以放多个条件
DirectoryFileFilter.INSTANCE);//表示操作的子孙级//DirectoryFileFilter.INSTANCE文件递归的方式进行进行文件过滤扫描
for(File file:files){
System.out.println(file.getAbsoluteFile());
}
System.out.println(".......................");
files = FileUtils.listFiles(new File("F:/IDEA文件/Java初级IO流技术"),
FileFilterUtils.and(new SuffixFileFilter("java"), EmptyFileFilter.NOT_EMPTY),// and不为空且为空文件的
DirectoryFileFilter.INSTANCE);//表示操作的子孙级//DirectoryFileFilter.INSTANCE文件递归的方式进行进行文件过滤扫描
for(File file:files){
System.out.println(file.getAbsoluteFile());
}
}
}
从文件中读取内容
读取内容,注意字符集
readFileToString();
readFileToByteArray();
readLines();
lineIterator();
public class Commostest2 {
//从文件中打印
public static void main(String[] args) throws IOException {
//读取文件
String string = FileUtils.readFileToString(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"), "GBK");
System.out.println(string);
byte [] datas=FileUtils.readFileToByteArray(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"));
System.out.println(datas.length);
//逐行读取
List<String> strings= FileUtils.readLines(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"gbk");
for(String msg:strings){
System.out.println(msg);
}
System.out.println("---------------------------------------------------");
//使用迭代器读写内容
LineIterator iterator = FileUtils.lineIterator(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"gbk");
while(iterator.hasNext()){
System.out.println(iterator.nextLine());
}
}
}
写出内容
写出内容
write();
writeStringToFile();
writeByteArrayToFile();
writeLines();
public class Commostest3 {
public static void main(String[] args) throws IOException {
//写出内容//这两个一样
// FileUtils.write(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"学习是一件伟大的事业\r\n","gbk",true);
// FileUtils.writeStringToFile(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"学习是一件伟大的事业","gbk",true);
//字节数组、字节数组一定要有getBytes();其中指定字符集
FileUtils.writeByteArrayToFile(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),"学习是一件伟大的事业".getBytes("gbk"),true);
//将容器中的内容写出到文件里
List<String > list=new ArrayList<>();
list.add("张涛");
list.add("张涛1");
list.add("张涛2");
//lineEnding字符之间的连接符
//writelines一行一行的写入
FileUtils.writeLines(new File("F:/IDEA文件/Java初级IO流技术1/src/a.txt"),list,"-------",true);
}
}