/* * ####################################################### * * Copyright (c) 2013, A. Weinberger. All rights reserved. * -------------------------------------------------------- */ package ale.util.fileUtil; import java.io.BufferedWriter; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.OpenOption; import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.util.List; final class FileWriter { private FileWriter() { } protected static boolean writeFile(Path file, List<String> lines, boolean append) { assert (file != null) && (lines != null) && (lines.size() > 0); OpenOption[] options; Charset charset = Charset.defaultCharset(); if (append) { options = new OpenOption[] { StandardOpenOption.WRITE, StandardOpenOption.APPEND, StandardOpenOption.CREATE }; } else { options = new OpenOption[] { StandardOpenOption.WRITE, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING }; } try (BufferedWriter writer = Files.newBufferedWriter(file, charset, options)) { String separator = System.getProperty("line.separator"); if ((lines == null) || (lines.size() <= 0)) { writer.write(""); } else { for (String line : lines) { writer.write(line + separator); } } writer.flush(); writer.close(); } catch (IOException e) { return false; } assert FileUtil.control(file); return true; } }