package br.com.etyllica.util.io; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import br.com.etyllica.util.StringUtils; public class IOHelper { public static final String FILE_PREFIX = "file:///"; public static final String ENCODING_UTF_8 = "UTF-8"; public static void write(String path, String text) { Writer writer = null; try { File file = getFile(path); writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(file), ENCODING_UTF_8)); writer.write(text); } catch (IOException e) { e.printStackTrace(); } finally { try {writer.close();} catch (Exception e) {} } } public static File getFile(String path) throws IOException { File file = new File(fixPrefixPath(path)); if(!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } if(!file.exists()) { file.createNewFile(); } return file; } private static String fixPrefixPath(String path) { String filePath = path; if(path.startsWith(FILE_PREFIX)) { filePath = path.substring(5); } if(path.contains(StringUtils.WINDOWS_SPACING)) { filePath = fixPath(filePath); } return filePath; } public static String fixPath(String path) { return path.replaceAll(StringUtils.WINDOWS_SPACING, StringUtils.WHITE_SPACE); } public static void createDirectory(String path) { new File(path).mkdirs(); } }