利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件

Posted koushr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件相关的知识,希望对你有一定的参考价值。

1.String IOUtils.toString(InputStream input),传入输入流对象,返回字符串,有多重重载,可按需要传参

用例:

 

@Test
	public void showInfoByIOUtils() throws IOException {
		URL url = new URL("https://www.baidu.com");
		InputStream in = url.openStream();
		System.out.println(in);
		try {
			System.out.println(IOUtils.toString(in));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

2.利用String FileUtils.readFileToString(File file, String encoding)及FileUtils.writeStringToFile(File file, String data, String encoding)读写文件:

 

用例:

 

@Test
	public void editFile() throws IOException {
		String fileName = "d:/11.txt";
		File file = new File(fileName);
		String fileContent = "";
		try {
			fileContent = FileUtils.readFileToString(file, "utf8");
		} catch (IOException e) {
			e.printStackTrace();
		}
		fileContent += "Helloworld,我也是";
		try {
			FileUtils.writeStringToFile(file, fileContent, "utf8");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

3.利用FileUtils.copyFile(File srcFile, File destFile)复制文件:

 

用例:

 

@Test
	public void copyFile() throws IOException {
		try {
			File src = new File("d:\\11.txt");
			File dest = new File("e://11.txt");
			FileUtils.copyFile(src, dest);// 清空目的文件,然后再粘贴内容
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

4.利用IOUtils.toByteArray(InputStream input)及FileUtils.writeByteArrayToFile(File file, byte[] data)下载文件到本地:

 

用例:

 

@Test
	public void download() throws IOException {
		try {
			InputStream in = new URL("http://www.baidu.com/img/baidu_logo.gif").openStream();
			byte[] gif = IOUtils.toByteArray(in);
			FileUtils.writeByteArrayToFile(new File("e:/test.gif"), gif);// 清空目的文件,然后再粘贴内容
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

5.利用FileUtils.copyFileToDirectory(File srcFile, File destDir)复制文件到指定目录:

 

用例:

 

@Test
	public void copy2dir() throws IOException {
		try {
			File srcfile = new File("d:\\11.txt");
			File destDir = new File("E:\\photoshop cs6");
			FileUtils.copyFileToDirectory(srcfile, destDir);// 复制文件到指定目录
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

6.利用FileUtils.copyURLToFile(URL source, File destination)复制url对象到指定文件,相当于网页另存为:

 

用例:

 

@Test
	public void copyUrl2File() throws Exception {
		URL url = new URL("http://www.163.com");
		File file = new File("E:\\163.html");
		FileUtils.copyURLToFile(url, file);
	}

7.利用FileUtils.cleanDirectory(File directory)清空目录,利用FileUtils.deleteDirectory(File directory)删除目录:

 

用例:

 

@Test
	public void cleanOrDeletedeleteDirectory() throws IOException {
		try {
			File dir = new File("e:\\test");
			FileUtils.cleanDirectory(dir);// 清空目录下的文件
			FileUtils.deleteDirectory(dir);// 删除目录和目录下的文件
		} catch (IOException e) {
			System.out.println(e.getStackTrace());
		}
	}


以上是关于利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件的主要内容,如果未能解决你的问题,请参考以下文章

commons-IO

00099_commons-IO

commons-IO

commons-IO 工具类

struts2的文件上传

IO流之Properties(String键值对)+序列流+打印流+commons-IO(最终流程)