package co.codewizards.cloudstore.core.oio.nio;
import static co.codewizards.cloudstore.core.oio.OioFileFactory.*;
import static co.codewizards.cloudstore.core.util.AssertUtil.*;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import co.codewizards.cloudstore.core.oio.File;
/**
* @author Sebastian Schefczyk
*
*/
public final class NioFileUtil {
private NioFileUtil() { }
public static File createTempDirectory(final String prefix) throws IOException {
return createFile(Files.createTempDirectory(prefix).toFile());
}
public static File createTempFile(final String prefix, final String suffix) throws IOException {
return createFile(java.io.File.createTempFile (prefix, suffix));
}
public static File createTempFile(final String prefix, final String suffix, final File parentDir) throws IOException {
return createFile(java.io.File.createTempFile (prefix, suffix, castOrFail(parentDir).getIoFile()));
}
static NioFile castOrFail(final File file) {
if (file instanceof NioFile)
return (NioFile) file;
else
throw new IllegalArgumentException("Could not cast file: "
+ file.getClass().getCanonicalName());
}
static String toPathString(final Path path) {
assertNotNull(path, "path");
return path.toString().replace(java.io.File.separatorChar, '/');
}
static String toPathString(final java.io.File file) {
final Path path = file.toPath();
assertNotNull(path, "path");
return path.toString().replace(java.io.File.separatorChar, '/');
}
static File[] convert(final java.io.File[] ioFilesListFiles) {
if (ioFilesListFiles == null)
return null;
final File[] listFiles = new NioFile[ioFilesListFiles.length];
for (int i = 0; i < ioFilesListFiles.length; i++) {
listFiles[i] = new NioFile(ioFilesListFiles[i]);
}
return listFiles;
}
}