package com.khmelenko.lab.varis.util; import android.content.Context; import com.khmelenko.lab.varis.TravisApp; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /** * Provides utilities related with files * * @author Dmytro Khmelenko */ public final class FileUtils { private FileUtils() { } /** * Writes data to the file in internal memory * * @param fileName Filename * @param data Data for saving */ public static void writeInternalFile(String fileName, String data) { Context context = TravisApp.getAppContext(); writeInternalFile(fileName, data, context); } /** * Writes data to the file in internal memory * * @param fileName File name * @param data Data for saving * @param context Context */ public static void writeInternalFile(String fileName, String data, Context context) { try { FileOutputStream stream = context.openFileOutput(fileName, Context.MODE_PRIVATE); OutputStreamWriter outputWriter = new OutputStreamWriter(stream); outputWriter.write(data); outputWriter.close(); } catch (Exception e) { e.printStackTrace(); } } /** * Reads data from the file in internal memory * * @param fileName Filename * @return File content */ public static String readInternalFile(String fileName) { Context context = TravisApp.getAppContext(); return readInternalFile(fileName, context); } /** * Reads data from the file in internal memory * * @param fileName File name * @param context Context * @return Read data */ public static String readInternalFile(String fileName, Context context) { String dataFromFile = ""; File file = context.getFileStreamPath(fileName); if (file.exists()) { try { InputStream inputStream = context.openFileInput(fileName); if (inputStream != null) { InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String receiveString = ""; StringBuilder stringBuilder = new StringBuilder(); while ((receiveString = bufferedReader.readLine()) != null) { stringBuilder.append(receiveString); } inputStream.close(); dataFromFile = stringBuilder.toString(); } } catch (IOException e) { e.printStackTrace(); } } return dataFromFile; } /** * Deletes the file in internal memory * * @param fileName Filename */ public static void deleteInternalFile(String fileName) { Context context = TravisApp.getAppContext(); deleteInternalFile(fileName, context); } /** * Deletes the file in internal memory * * @param fileName File name * @param context Context */ public static void deleteInternalFile(String fileName, Context context) { try { context.deleteFile(fileName); } catch (Exception e) { e.printStackTrace(); } } }