package utils; import org.apache.commons.io.IOUtils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.text.DecimalFormat; /** * Created by AtomInvention on 18/11/13. */ public class FileHelper { public static URL getFxmlUrl(Class callingClass, String fxmlFileName) { return callingClass.getClassLoader().getResource( AppConfig.FXML_PACKAGE + File.separator + fxmlFileName); } public static String readableFileSize(long size) { if(size <= 0) return "0"; final String[] units = new String[] { "B", "KB", "MB", "GB", "TB" }; int digitGroups = (int) (Math.log10(size)/Math.log10(1024)); return new DecimalFormat( "#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups]; } public static boolean isFileExist(String filePath) { return new File(filePath).exists(); } public static void makeFolder(String folderPath) { File dir = new File(folderPath); dir.mkdirs(); } public static void makeFile(String filePath) { File file = new File(filePath); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } public static void copyFile(String originalPath, String destPath) { InputStream inputStream = null; OutputStream outputStream = null; try { inputStream = new FileInputStream(originalPath); outputStream = new FileOutputStream(destPath); copyFile(inputStream, outputStream); inputStream.close(); inputStream = null; outputStream.flush(); outputStream.close(); outputStream = null; } catch (Exception e) { e.printStackTrace(); } } public static void copyFile(InputStream in, OutputStream out) throws IOException { byte[] buffer = new byte[1024]; int read; while((read = in.read(buffer)) != -1){ out.write(buffer, 0, read); } } public static String readFileAsString(String filePath) { String fileContent = ""; FileInputStream inputStream = null; try { inputStream = new FileInputStream(filePath); fileContent = IOUtils.toString(inputStream); } catch (Exception e) { e.printStackTrace(); } finally { try { inputStream.close(); } catch (Exception e) { e.printStackTrace(); } } return fileContent; } public static void saveToFile(String fileContent, String outputPath) { try { FileOutputStream fileOutputStream = new FileOutputStream(outputPath); IOUtils.write(fileContent, fileOutputStream); } catch (Exception e) { e.printStackTrace(); } } }