package de.blau.android.util;
import java.io.File;
import java.io.IOException;
import android.os.Environment;
import android.support.annotation.NonNull;
import de.blau.android.contract.Paths;
public abstract class FileUtil {
/**
* Get our public directory, creating it if it doesn't exist
* @return
* @throws IOException
*/
public static
@NonNull
File getPublicDirectory() throws IOException {
return getPublicDirectory(
Environment.getExternalStorageDirectory(),
Paths.DIRECTORY_PATH_VESPUCCI);
}
/**
* Get a File for directoryName in baseDirectory, if it doesn't exist create it
* @param baseDirectory
* @param directoryName
* @return
* @throws IOException
*/
public static
@NonNull
File getPublicDirectory(@NonNull File baseDirectory, @NonNull String directoryName)
throws IOException {
if (directoryName.length() == 0) {
throw new IllegalArgumentException("Directory path is empty.");
}
File outDir = new File(baseDirectory, directoryName);
//noinspection ResultOfMethodCallIgnored
outDir.mkdir(); // ensure directory exists;
if (!outDir.isDirectory()) {
throw new IOException("Unable to create directory: " + outDir.getPath());
}
return outDir;
}
}