public static String loadTextFileWithEncoding(String fileName, S encoding) { return loadTextFileWithEncoding(fileName, null, encoding); } public static String loadTextFileWithEncoding(String fileName, String defaultContents, S encoding) { try { if (!new File(fileName).exists()) return defaultContents; FileInputStream fileInputStream = new FileInputStream(fileName); InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, encoding); return loadTextFile(inputStreamReader); } catch (IOException e) { throw new RuntimeException(e); } } public static String loadTextFileWithEncoding(File f, String defaultContents, S encoding) { ret f == null ? defaultContents : loadTextFileWithEncoding(f.getPath(), defaultContents, encoding); } public static String loadTextFileWithEncoding(File fileName, S encoding) { return loadTextFileWithEncoding(fileName, null, encoding); }