package com.levelup.java.io;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
import org.junit.Test;
import com.google.common.base.Charsets;
import com.google.common.io.Files;
/**
* This java example will demonstrate appending
* text to a file.
*
* @author Justin Musgrove
* @see <a href='http://www.leveluplunch.com/java/examples/append-text-to-file/'>Append text to file</a>
*
*/
public class AppendTextToFile {
private static final Logger logger = Logger.getLogger(AppendTextToFile.class);
private static final String OUTPUT_FILE_NAME = "output/AppendTextToFile.txt";
@Test
public void append_to_file_java () throws IOException {
File file = new File(OUTPUT_FILE_NAME);
FileWriter fileWriter = new FileWriter(file, true);
fileWriter.append("Append text to file w/ java");
fileWriter.close();
}
@Test
public void append_to_file_java_7 () {
try(PrintWriter out = new PrintWriter(
new BufferedWriter(
new FileWriter(OUTPUT_FILE_NAME, true)
)
)) {
out.println("Append to file w/ Java 7");
} catch (IOException e) {
logger.error(e);
}
}
@Test
public void append_to_file_guava () throws IOException {
File file = new File(OUTPUT_FILE_NAME);
Files.append("Append text to file w/ guava",
file,
Charsets.UTF_8);
}
@Test
public void append_to_file_apache () throws IOException {
File file = new File(OUTPUT_FILE_NAME);
FileUtils.writeStringToFile(
file,
"Append text to file w/ apache",
true);
}
}