commons-io examples

Maven Dependency

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.fool.commons-io</groupId>
	<artifactId>commons-io</artifactId>
	<version>1</version>

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

	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

 

delete directory recursively

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

/**
 * delete directory recursively
 */
public class DeleteDirectoryRecursive
{
	public static void main(String[] args)
	{
		File directory = new File("C:/temp1");

		try
		{
			// Deletes a directory recursively.
			FileUtils.deleteDirectory(directory);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

copy directory with all its contents to another directory

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

/**
 * copy directory with all its contents to another directory
 */
public class DirectoryCopy
{
	public static void main(String[] args)
	{
		// An existing directory to copy.
		File srcDir = new File("C:/temp");

		// The destination directory to copy to. This directory
		// doesn't exists and will be created during the copy
		// directory process.
		File destDir = new File("C:/temp1");

		try
		{
			// Copy source directory into destination directory
			// including its child directories and files. When
			// the destination directory is not exists it will
			// be created. This copy process also preserve the
			// date information of the file.
			FileUtils.copyDirectory(srcDir, destDir);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

move directory to another directory with its entire contents

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

/**
 * move directory to another directory with its entire contents
 */
public class DirectoryMove
{

	public static void main(String[] args)
	{
		File srcDir = new File("C:/temp1");

		File destDir = new File("C:/temp2");

		try
		{
			// Move the source directory to the destination directory.
			// The destination directory must not exists prior to the
			// move process.
			FileUtils.moveDirectory(srcDir, destDir);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

calculate directory size

package org.fool.commons.io;

import java.io.File;

import org.apache.commons.io.FileUtils;

/**
 * calculate directory size
 */
public class DirectorySizeExample
{
	public static void main(String[] args)
	{
		// Using FileUtils.sizeOfDirectory() we can calculate
		// the size of a directory including it sub directory
		long size = FileUtils.sizeOfDirectory(new File("C:/temp"));

		System.out.println("Size: " + size + " bytes");
	}
}

 

get free space of a drive or volume

package org.fool.commons.io;

import java.io.IOException;

import org.apache.commons.io.FileSystemUtils;
import org.apache.commons.io.FileUtils;

/**
 * get free space of a drive or volume
 */
public class DiskFreeSpace
{
	public static void main(String[] args)
	{
		try
		{
			String path = "C:";
			long freeSpaceKB = FileSystemUtils.freeSpaceKb(path);
			long freeSpaceMB = freeSpaceKB / FileUtils.ONE_KB;
			long freeSpaceGB = freeSpaceKB / FileUtils.ONE_MB;

			System.out.println("Size of " + path + " = " + freeSpaceKB + " KB");
			System.out.println("Size of " + path + " = " + freeSpaceMB + " MB");
			System.out.println("Size of " + path + " = " + freeSpaceGB + " GB");
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

create a copy of a file

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

/**
 * create a copy of a file
 */
public class FileCopyExample
{
	public static void main(String[] args)
	{
		File source = new File("pom.xml");

		File target = new File("pom-backup.xml");

		File targetDir = new File("C:/temp");

		try
		{
			System.out.println("Copying " + source + " file to " + target);
			FileUtils.copyFile(source, target);

			System.out.println("Copying " + source + " file to " + targetDir);
			FileUtils.copyFileToDirectory(source, targetDir);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

sort files base on their last modified date

package org.fool.commons.io;

import java.io.File;
import java.util.Arrays;

import org.apache.commons.io.comparator.LastModifiedFileComparator;

/**
 * sort files base on their last modified date
 */
public class FileSortByLastModified
{
	public static void main(String[] args)
	{
		File dir = new File("C:/temp");

		File[] files = dir.listFiles();

		// Sort files in ascending order base on last modification date.
		Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_COMPARATOR);
		for (File file : files)
		{
			System.out.printf("File %s - %2$tm %2$te,%2$tY%n", file.getName(),
					file.lastModified());
		}

		System.out.println();

		// Sort files in descending order base on last modification date.
		Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
		for (File file : files)
		{
			System.out.printf("File %s - %2$tm %2$te,%2$tY%n", file.getName(),
					file.lastModified());
		}
	}
}

 

read a file into byte array

package org.fool.commons.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.io.IOUtils;

/**
 * read a file into byte array
 */
public class FileToByteArray
{
	public static void main(String[] args)
	{
		File file = new File("sample.txt");

		try
		{
			InputStream is = new FileInputStream(file);
			byte[] bytes = IOUtils.toByteArray(is);

			System.out.println("Byte array size: " + bytes.length);
		}
		catch (FileNotFoundException e)
		{
			e.printStackTrace();
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

get the content of an InputStream as a String

package org.fool.commons.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.io.IOUtils;

/**
 * get the content of an InputStream as a String
 */
public class InputStreamToString
{
	public static void main(String[] args)
	{
		InputStream is = null;

		try
		{
			is = new FileInputStream(new File("sample.txt"));
			String contents = IOUtils.toString(is, "UTF-8");
			System.out.println(contents);
		}
		catch (FileNotFoundException e)
		{
			e.printStackTrace();
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		finally
		{
			IOUtils.closeQuietly(is);
		}
	}
}

 

create a human-readable file size

package org.fool.commons.io;

import java.io.File;

import org.apache.commons.io.FileUtils;

/**
 * create a human-readable file size
 */
public class ReadableFileSize
{
	public static void main(String[] args)
	{
		File file = new File(
				"C:/TDDOWNLOAD/JavaTools/JDK/jdk-6u38-windows-x64.exe");

		long size = file.length();
		String display = FileUtils.byteCountToDisplaySize(size);

		System.out.println("Name    = " + file.getName());
		System.out.println("size    = " + size);
		System.out.println("Display = " + display);
	}
}

 

read content line by line

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.io.FileUtils;

/**
 * read content line by line
 */
public class ReadFileToListSample
{
	public static void main(String[] args)
	{
		File file = new File("sample.txt");

		List<String> contents = null;

		try
		{
			contents = FileUtils.readLines(file);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}

		for (String line : contents)
		{
			System.out.println(line);
		}
	}
}

 

write string data to file

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

/**
 * write string data to file
 */
public class WriteStringToFileExample
{
	public static void main(String[] args)
	{
		File file = new File("sample.txt");

		String data = "Apache Commons IO";

		try
		{
			FileUtils.writeStringToFile(file, data);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

read file contents to string

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

/**
 * read file contents to string
 */
public class ReadFileToStringExample
{
	public static void main(String[] args)
	{
		File file = new File("sample.txt");

		String data = null;

		try
		{
			data = FileUtils.readFileToString(file);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}

		System.out.println(data);
	}
}

 

search for files recursively

package org.fool.commons.io;

import java.io.File;
import java.util.Collection;

import org.apache.commons.io.FileUtils;

/**
 * search for files recursively
 */
public class SearchFileRecursive
{
	public static void main(String[] args)
	{
		File root = new File("C:/temp");

		String[] extensions = { "xml", "java", "dat" };
		boolean recursive = true;

		Collection<File> files = FileUtils.listFiles(root, extensions,
				recursive);

		for (File file : files)
		{
			System.out.println("File = " + file.getAbsolutePath());
		}
	}
}

 

touch a file

package org.fool.commons.io;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;

/**
 * touch a file
 */
public class TouchFileExample
{
	public static void main(String[] args)
	{
		File file = new File("touch.dat");

		try
		{
			// Touch the file, when the file is not exist a new file will be
			// created. If the file exist change the file timestamp.
			FileUtils.touch(file);
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

 

 

你可能感兴趣的:(commons)