FileUtils与IOUtils工具包的常用方法

pom

<dependencies>
  	<dependency>
	    <groupId>commons-io</groupId>
	    <artifactId>commons-io</artifactId>
	    <version>2.6</version>
	</dependency>
  </dependencies>

代码

package gunsmoke;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;

public class DemoMain {
	public static void main(String[] args) throws Exception{
		System.out.println("gunsmoke");
		// -----------------------------FileUtils examples--------------------------
		//copyFile();
		//copyFileToDir();
		//copyUrlToFile();
		//createFile();
		//deleteFile();s
		//getFileSize();
		//listFiles();
		//readFile();
		//writeFile();
		toInputStream();
	}
	
	// 1.文件拷贝,第一个参数必须是文件不能是目录,这个是文件拷贝不是目录拷贝,第二个参数也是文件不是目录
	public static void copyFile () throws Exception
	{
		System.out.println("---------copyFile---------------");
		File file1 = new File("C:\\mfg\\W8ADD64EN009_UPDATE.cdr");
		File file2 = new File("D:\\mfg");
		FileUtils.copyFile(file1, file2);
		FileUtils.copyFileToDirectory(file1, file2);
	}
	
	// 2.文件到目录的拷贝,第一个参数必须是文件不能是目录,第二个参数必须是目录
	public static void copyFileToDir() throws Exception
	{
		System.out.println("---------copyFileToDir---------------");
		File file1 = new File("C:\\mfg\\W8ADD64EN009_UPDATE.cdr");
		File file2 = new File("D:\\mfg");
		FileUtils.forceMkdir(file2);
		FileUtils.copyFileToDirectory(file1, file2);
	}
	
	// 3.将网上的文件拷贝到本地
	public static void copyUrlToFile() throws Exception
	{
		System.out.println("---------copyUrlToFile---------------");
		URL url = new URL("http://www.baidu.com");
		File file = new File("d:\\myfile.html");
		FileUtils.copyURLToFile(url, file);
		String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8.name());
		System.out.println(content);
	}	
	
	// 4.创建文件,如果文件已存在则修改文件修改时间为当前时间
	public static void createFile() throws Exception
	{
		System.out.println("---------createFile---------------");
		File file = new File("d:\\test.txt");
		System.out.println(file.exists());
		FileUtils.touch(file);
	}	
	
	// 4.删除文件
	public static void deleteFile() throws Exception
	{
		System.out.println("---------deleteFile---------------");
		File file = new File("d:\\test.txt");
		FileUtils.deleteQuietly(file);
		System.out.println(file.exists());
	}
	
	// 5.获取文件或目录大小
	public static void getFileSize() throws Exception
	{
		System.out.println("---------getFileSize---------------");
		File file = new File("D:\\pingjia.eap");
		System.out.println(FileUtils.sizeOf(file));
		File dir = new File("d:\\beijing");
		System.out.println(FileUtils.sizeOfDirectory(dir));
	}
	
	// 6.获取文件列表,第3个参数如果为true则会递归查找
	public static void listFiles() throws Exception
	{
		System.out.println("---------listFiles---------------");
		File dir = new File("d:\\");
		Collection<File> listFiles = FileUtils.listFiles(dir, new String[]{"txt"}, true);
		listFiles.stream().forEach(System.out::println);
	}
	
	// 7.读取文件内容
	public static void readFile() throws Exception
	{
		System.out.println("---------ReadFile---------------");
		File file = new File("D:\\记录.txt");
		List<String> lines = FileUtils.readLines(file, StandardCharsets.UTF_8.name());
		System.out.println(lines.size());
	}
	
	// 8.向文件中写入
	public static void writeFile() throws Exception
	{
		System.out.println("---------writeFile---------------");
		File file = new File("D:\\记录.txt");
		FileUtils.writeStringToFile(file, "gunsmoke", StandardCharsets.UTF_8.name(), true);
	}
	
	// 9.IOUtils.toInputStream()
	public static void toInputStream() throws Exception
	{
		System.out.println("---------IOUtils.toInputStream()---------------");
		InputStream inputStream = IOUtils.toInputStream("gunsmoke11111", StandardCharsets.UTF_8.name());
		byte[] buf = new byte[100];
		System.out.println("buf: " + new String(buf));
		IOUtils.copy(inputStream, new FileOutputStream(new File("d:\\1.txt")));
		System.out.println(221 & 1);
	}
	
}
发布了135 篇原创文章 · 获赞 10 · 访问量 6235

猜你喜欢

转载自blog.csdn.net/gunsmoke/article/details/104064124