1 package org.simantics.scl.runtime.procedure;
\r
3 import java.io.BufferedWriter;
\r
4 import java.io.IOException;
\r
5 import java.nio.charset.Charset;
\r
6 import java.nio.charset.MalformedInputException;
\r
7 import java.nio.file.Files;
\r
8 import java.nio.file.Paths;
\r
9 import java.nio.file.StandardOpenOption;
\r
10 import java.util.List;
\r
12 public class StringIO {
\r
13 public static final Charset UTF8 = Charset.forName("UTF-8");
\r
15 public static List<String> readLines(String fileName) throws IOException {
\r
17 return Files.readAllLines(Paths.get(fileName), UTF8);
\r
18 } catch(MalformedInputException e) {
\r
19 throw new RuntimeException("Encoding of the file '" + fileName + "' does not conform to UTF-8 (without BOM).");
\r
23 public static List<String> readLinesWithCharset(String charset, String fileName) throws IOException {
\r
25 return Files.readAllLines(Paths.get(fileName), Charset.forName(charset));
\r
26 } catch(MalformedInputException e) {
\r
27 throw new RuntimeException("Encoding of the file '" + fileName + "' does not conform to " + charset + ".");
\r
31 public static void writeLines(String fileName, List<String> lines) throws IOException {
\r
32 BufferedWriter writer = Files.newBufferedWriter(Paths.get(fileName), UTF8);
\r
33 for(String line : lines) {
\r
40 public static void appendLine(String fileName, String line) throws IOException {
\r
41 BufferedWriter writer = Files.newBufferedWriter(Paths.get(fileName), UTF8,
\r
42 StandardOpenOption.CREATE, StandardOpenOption.APPEND);
\r