apache.commons.io.FileUtils的常用操作
至于相关jar包可以到官网获取 http://commons.apache.org/downloads/index.html package com.wz.apache.fileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils; import javax.print.attribute.standard.Copies;
import java.io.*;
import java.net.URL;
import java.util.List;
import java.util.Scanner; /**
* 测试io工具包
* 本人英语水平不过关,简单理解下
* (注释的第一行是测试的方法,第二行是官方文档的解释,第三行是我测试做的结论)
* @author WZLOVE
* @create 2018-04-30 12:30
*/
public class MainTest { public static void main(String[] args) {
String path = "H:\\javaTest\\iotest";
String path1 = "H:\\javaTest\\iotest\\1.txt";
String path2 = "H:\\javaTest\\iotest\\2.txt";
String path3 = "H:\\MyTest";
String path4 = "H:\\MyTest\\test";
File file = new File(path);
File file1 = new File(path1);
File file2 = new File(path2);
File file3 = new File(path3);
File file4 = new File(path4);
FileUtils fu = new FileUtils(); // 复制操作 // cleanDirectory(File directory)
// Cleans a directory without deleting it.
// 删除该文件夹下的所有东西(如果该路径是文件或者路径不存在是会报java.lang.IllegalArgumentException异常)
try {
FileUtils.cleanDirectory(file);
System.out.println("删除成功");
} catch (IOException e) {
e.printStackTrace();
} // contentEquals(File file1, File file2)
// Compares the contents of two files to determine if they are equal or not.
// 测试两个文件的内容相不相同
try {
System.out.println(FileUtils.contentEquals(file1,file2));
} catch (IOException e) {
e.printStackTrace();
} // copyDirectory(File srcDir, File destDir)
// Copies a whole directory to a new location preserving the file dates.
// 复制第一个参数的文件夹下的所有内容复制到第二个参数的文件夹下
try {
FileUtils.copyDirectory(file,file3);
System.out.println("复制成功");
} catch (IOException e) {
e.printStackTrace();
} // copyDirectoryToDirectory(File srcDir, File destDir)
// Copies a directory to within another directory preserving the file dates.
// 将第一个参数的整个文件夹(即iotest文件夹)复制到第二个路径下
try {
FileUtils.copyDirectoryToDirectory(file, file3);
System.out.println("复制成功");
} catch (IOException e) {
e.printStackTrace();
} // copyFile(File srcFile, File destFile)
// Copies a file to a new location preserving the file date.
// 将一个文件的内容复制到另一个文件中
try {
FileUtils.copyFile(file1, file2);
System.out.println("复制成功");
} catch (IOException e) {
e.printStackTrace();
} // copyFileToDirectory(File srcFile, File destDir)
// Copies a file to a directory preserving the file date.
// 将一个文件复制到另一个文件夹下(不做测试了) System.out.println("=================================================="); // 读写操作 // readFileToString(File file, String encoding)
// Reads the contents of a file into a String.
// 读取文件内容返回String,原样输出
try {
String str = FileUtils.readFileToString(file1, "UTF-8");
System.out.println(str);
} catch (IOException e) {
e.printStackTrace();
} // readLines(File file, String encoding)
// Reads the contents of a file line by line to a List of Strings.
// 返回String集合
try {
List<String> strList = FileUtils.readLines(file1, "UTF-8");
for (String s : strList) {
System.out.println(s);
}
System.out.println(strList.size());
} catch (IOException e) {
e.printStackTrace();
} // writeStringToFile(File file, String data, String encoding)
// Writes a String to a file creating the file if it does not exist.
// 将String数据写入文件(只能输入一行,如果后续还有输入,将覆盖前面的内容,下一个方法将是追加)
try {
Scanner in = new Scanner(System.in);
while (true){
System.out.println("请输入内容(结束请输入break):");
String str = in.nextLine();
if(!str.equals("break")){
FileUtils.writeStringToFile(file2, str, "UTF-8");
} else {
break;
}
}
} catch (IOException e) {
e.printStackTrace();
} // writeStringToFile(File file, String data, String encoding, boolean append)
// Writes a String to a file creating the file if it does not exist.
// 将String数据写入文件,多个string数据就追加(记住一点文件里不会换行)
try {
Scanner in = new Scanner(System.in);
while (true){
System.out.println("请输入内容(结束请输入break):");
String str = in.nextLine();
if(!str.equals("break")){
FileUtils.writeStringToFile(file2, str, "UTF-8",true);
} else {
break;
}
}
} catch (IOException e) {
e.printStackTrace();
} System.out.println("============================================");
// 网络相关 // copyURLToFile(URL source, File destination)
// Copies bytes from the URL source to a file destination.
// 获取一个网页的源代码,写入本地文件,还可以向本地写图片的等等
// 下面是两个例子,一个获取页面,一个获取图片(如果文件不存在会自动创建)
try {
FileUtils.copyURLToFile(new URL("https://blog.csdn.net/lixin2302007/article/details/78354929"),
new File("H:\\javaTest\\iotest\\test.html"));
System.out.println("复制完毕");
} catch (IOException e) {
e.printStackTrace();
}
// 写图片
try {
FileUtils.copyURLToFile(new URL("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1525082437668&di=18d455af6f3ffedc1f4d2e022cfe4af5&imgtype=0&src=http%3A%2F%2Fpic.eastlady.cn%2Fuploads%2Ftp%2F201705%2F9999%2F7e03b578dc.jpg"),
new File("H:\\javaTest\\iotest\\1.jpg"));
System.out.println("复制完毕");
} catch (IOException e) {
e.printStackTrace();
} } }
apache.commons.io.FileUtils的常用操作的更多相关文章
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils
1.错误叙述性说明 警告: Could not create JarEntryRevision for [jar:file:/D:/MyEclipse/apache-tomcat-7.0.53/web ...
- java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.getTempDirectory()Ljava/io/File;
我出现这个问题的原因是使用ueditor上传图片 如果不是commons.io的jar包缺失,就是jar包有冲突 另外:最新的ueditor(1.4.3.1)使用的是commons-io-2.4.ja ...
- org.apache.commons.io——FileUtils学习笔记
FileUtils类的应用 1.写入一个文件: 2.从文件中读取: 3.创建一个文件夹,包括文件夹: 4.复制文件和文件夹: 5.删除文件和文件夹: 6.从URL地址中获取文件: 7.通过文件过滤器和 ...
- java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.copyInputStreamToFile(Ljava/io/InputStream;Ljava/io/File;)V
昨天用的好好的,今天就不行了 也懒得搞 具体原因就是引用的问题 找了个能用的pom 直接贴过去完事儿
- Apache Commons IO之FileUtils的常用方法
Apache Commons IO 在学习io流的时候研究(翻译)了一下这个,只有FileUtils的某些方法,并不全面,还请谅解 org.apache.commons.io 这个包下定义了基于 st ...
- Java (三)APACHE Commons IO 常规操作
上一篇:Java (二)基于Eclipse配置Commons IO的环境 例1:查看文件.文件夹的长度(大小). 1 import java.io.File; 2 3 import org.apach ...
- Apache Commons IO入门教程(转)
Apache Commons IO是Apache基金会创建并维护的Java函数库.它提供了许多类使得开发者的常见任务变得简单,同时减少重复(boiler-plate)代码,这些代码可能遍布于每个独立的 ...
- [转]Apache Commons IO入门教程
Apache Commons IO是Apache基金会创建并维护的Java函数库.它提供了许多类使得开发者的常见任务变得简单,同时减少重复(boiler-plate)代码,这些代码可能遍布于每个独立的 ...
- .apache.commons.io 源代码学习(一)
java的初学者,准备通读各种高水平源代码,提升能力. 为了避免自己的惰性,写博客. 版本:2.5 开发平台:netbeans. 今天是第一天,网上先看个例子:http://www.importnew ...
随机推荐
- 学习python,第三篇:.pyc是个什么鬼?
.pyc是个什么鬼? 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存 ...
- Redis源码阅读(六)集群-故障迁移(下)
Redis源码阅读(六)集群-故障迁移(下) 最近私人的事情比较多,没有抽出时间来整理博客.书接上文,上一篇里总结了Redis故障迁移的几个关键点,以及Redis中故障检测的实现.本篇主要介绍集群检测 ...
- golang slice使用不慎导致的问题
原文链接 : http://www.bugclosed.com/post/16 背景 go语言中切片slice是方便且好用的强大数据结构,但是使用的时候需要注意,不然容易出问题,最近因为遇到了一个sl ...
- virtualbox命令行启动虚拟机和关闭虚拟机
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm 虚拟机名字 --type headlessC:\Program Files\Orac ...
- 在Gulp中使用BrowserSync
博客已迁移至http://zlwis.me. 很早就听说过BrowserSync,也看过一些相关文章,可就是没用过.之前一直在用Gulp开发项目,每次编写完Sass后还要用按F5刷新页面看效果,想想也 ...
- 让CentOS在同一个窗口打开文件夹
http://www.linuxidc.com/Linux/2010-04/25756.htm
- 第二章 Socket用法详解
构造Socket Socket构造方法如下: Socket() //Creates an unconnected socket, with the system-default type of Soc ...
- keil C 51 strlen库函数使用
在keil c51 程序中,若定义数组 volatile unsigned char data[3]={'G','G','G'};使用strlen(&data);得到的长度是不对的,若定义v ...
- vue-cli 安装步骤(转载)
参考资料:Vue2.0 新手完全填坑攻略—从环境搭建到发布 1.Node.js安装 https://nodejs.org/en/download/ 2.安装vue-cli npm install -g ...
- appium遇到问题总结(不断更新)
问题1 执行脚本 报错: java.lang.NoSuchMethodError: org.openqa.selenium.remote.ErrorHandler.<init>(Lorg/ ...