Code polish/cleanup
This commit is contained in:
parent
71bc6110e0
commit
13a9620585
|
@ -37,6 +37,7 @@ import java.util.zip.ZipInputStream;
|
||||||
* Peter Donald, Jeff Turner, Matthew Hawthorne, Martin Cooper,
|
* Peter Donald, Jeff Turner, Matthew Hawthorne, Martin Cooper,
|
||||||
* Jeremias Maerki, Stephen Colebourne
|
* Jeremias Maerki, Stephen Colebourne
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("unused")
|
||||||
public
|
public
|
||||||
class FileUtil {
|
class FileUtil {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(FileUtil.class);
|
private static final Logger logger = LoggerFactory.getLogger(FileUtil.class);
|
||||||
|
@ -72,7 +73,7 @@ class FileUtil {
|
||||||
|
|
||||||
public static final String TEMP_DIR = System.getProperty("java.io.tmpdir");
|
public static final String TEMP_DIR = System.getProperty("java.io.tmpdir");
|
||||||
|
|
||||||
public static byte[] ZIP_HEADER = {'P', 'K', 0x3, 0x4};
|
public static byte[] ZIP_HEADER = {'P', 'K', (byte) 0x3, (byte) 0x4};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renames a file. Windows has all sorts of problems which are worked around.
|
* Renames a file. Windows has all sorts of problems which are worked around.
|
||||||
|
@ -141,7 +142,7 @@ class FileUtil {
|
||||||
List<String> lines = new ArrayList<String>();
|
List<String> lines = new ArrayList<String>();
|
||||||
try {
|
try {
|
||||||
BufferedReader bin = new BufferedReader(in);
|
BufferedReader bin = new BufferedReader(in);
|
||||||
for (String line = null; (line = bin.readLine()) != null; lines.add(line)) {
|
for (String line; (line = bin.readLine()) != null; lines.add(line)) {
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
Sys.close(in);
|
Sys.close(in);
|
||||||
|
@ -326,6 +327,7 @@ class FileUtil {
|
||||||
/**
|
/**
|
||||||
* Copies a directory from one location to another
|
* Copies a directory from one location to another
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("Duplicates")
|
||||||
public static
|
public static
|
||||||
void copyDirectory(File src_, File dest_, String... fileNamesToIgnore) throws IOException {
|
void copyDirectory(File src_, File dest_, String... fileNamesToIgnore) throws IOException {
|
||||||
File src = FileUtil.normalize(src_);
|
File src = FileUtil.normalize(src_);
|
||||||
|
@ -380,6 +382,7 @@ class FileUtil {
|
||||||
/**
|
/**
|
||||||
* Safely moves a directory from one location to another (by copying it first, then deleting the original).
|
* Safely moves a directory from one location to another (by copying it first, then deleting the original).
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("Duplicates")
|
||||||
public static
|
public static
|
||||||
void moveDirectory(File src, File dest, String... fileNamesToIgnore) throws IOException {
|
void moveDirectory(File src, File dest, String... fileNamesToIgnore) throws IOException {
|
||||||
if (fileNamesToIgnore.length > 0) {
|
if (fileNamesToIgnore.length > 0) {
|
||||||
|
@ -449,46 +452,49 @@ class FileUtil {
|
||||||
Logger logger2 = logger;
|
Logger logger2 = logger;
|
||||||
if (file.isDirectory()) {
|
if (file.isDirectory()) {
|
||||||
File[] files = file.listFiles();
|
File[] files = file.listFiles();
|
||||||
for (int i = 0, n = files.length; i < n; i++) {
|
if (files != null) {
|
||||||
boolean delete = true;
|
for (int i = 0, n = files.length; i < n; i++) {
|
||||||
String name2 = files[i].getName();
|
|
||||||
|
|
||||||
if (files[i].isDirectory()) {
|
boolean delete = true;
|
||||||
for (String name : namesToIgnore) {
|
String name2 = files[i].getName();
|
||||||
if (name.startsWith("/") && name.equals(name2)) {
|
|
||||||
if (logger2.isTraceEnabled()) {
|
if (files[i].isDirectory()) {
|
||||||
logger2.trace("Skipping delete dir: {}", files[i]);
|
for (String name : namesToIgnore) {
|
||||||
|
if (name.startsWith("/") && name.equals(name2)) {
|
||||||
|
if (logger2.isTraceEnabled()) {
|
||||||
|
logger2.trace("Skipping delete dir: {}", files[i]);
|
||||||
|
}
|
||||||
|
ignored = true;
|
||||||
|
delete = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
ignored = true;
|
|
||||||
delete = false;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (delete) {
|
if (delete) {
|
||||||
if (logger2.isTraceEnabled()) {
|
|
||||||
logger2.trace("Deleting dir: {}", files[i]);
|
|
||||||
}
|
|
||||||
delete(files[i], namesToIgnore);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
for (String name : namesToIgnore) {
|
|
||||||
if (!name.startsWith("/") && name.equals(name2)) {
|
|
||||||
if (logger2.isTraceEnabled()) {
|
if (logger2.isTraceEnabled()) {
|
||||||
logger2.trace("Skipping delete file: {}", files[i]);
|
logger2.trace("Deleting dir: {}", files[i]);
|
||||||
}
|
}
|
||||||
ignored = true;
|
delete(files[i], namesToIgnore);
|
||||||
delete = false;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
if (delete) {
|
for (String name : namesToIgnore) {
|
||||||
if (logger2.isTraceEnabled()) {
|
if (!name.startsWith("/") && name.equals(name2)) {
|
||||||
logger2.trace("Deleting file: {}", files[i]);
|
if (logger2.isTraceEnabled()) {
|
||||||
|
logger2.trace("Skipping delete file: {}", files[i]);
|
||||||
|
}
|
||||||
|
ignored = true;
|
||||||
|
delete = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (delete) {
|
||||||
|
if (logger2.isTraceEnabled()) {
|
||||||
|
logger2.trace("Deleting file: {}", files[i]);
|
||||||
|
}
|
||||||
|
files[i].delete();
|
||||||
}
|
}
|
||||||
files[i].delete();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -588,6 +594,7 @@ class FileUtil {
|
||||||
try {
|
try {
|
||||||
in.mark(ZIP_HEADER.length);
|
in.mark(ZIP_HEADER.length);
|
||||||
for (int i = 0; i < ZIP_HEADER.length; i++) {
|
for (int i = 0; i < ZIP_HEADER.length; i++) {
|
||||||
|
//noinspection NumericCastThatLosesPrecision
|
||||||
if (ZIP_HEADER[i] != (byte) in.read()) {
|
if (ZIP_HEADER[i] != (byte) in.read()) {
|
||||||
isZip = false;
|
isZip = false;
|
||||||
break;
|
break;
|
||||||
|
@ -616,6 +623,7 @@ class FileUtil {
|
||||||
/**
|
/**
|
||||||
* @return true if the file is a zip/jar file
|
* @return true if the file is a zip/jar file
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("Duplicates")
|
||||||
public static
|
public static
|
||||||
boolean isZipFile(File file) {
|
boolean isZipFile(File file) {
|
||||||
boolean isZip = true;
|
boolean isZip = true;
|
||||||
|
@ -648,8 +656,6 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file
|
* Unzips a ZIP file
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
public static
|
public static
|
||||||
void unzip(String zipFile, String outputDir) throws IOException {
|
void unzip(String zipFile, String outputDir) throws IOException {
|
||||||
|
@ -658,8 +664,6 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file
|
* Unzips a ZIP file
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
public static
|
public static
|
||||||
void unzip(File zipFile, File outputDir) throws IOException {
|
void unzip(File zipFile, File outputDir) throws IOException {
|
||||||
|
@ -668,8 +672,6 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file. Will close the input stream.
|
* Unzips a ZIP file. Will close the input stream.
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
public static
|
public static
|
||||||
void unzip(ZipInputStream inputStream, String outputDir) throws IOException {
|
void unzip(ZipInputStream inputStream, String outputDir) throws IOException {
|
||||||
|
@ -682,8 +684,6 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file. Will close the input stream.
|
* Unzips a ZIP file. Will close the input stream.
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
public static
|
public static
|
||||||
void unzip(ZipInputStream inputStream, File outputDir) throws IOException {
|
void unzip(ZipInputStream inputStream, File outputDir) throws IOException {
|
||||||
|
@ -692,8 +692,6 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file
|
* Unzips a ZIP file
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
public static
|
public static
|
||||||
void unzipJar(String zipFile, String outputDir, boolean extractManifest) throws IOException {
|
void unzipJar(String zipFile, String outputDir, boolean extractManifest) throws IOException {
|
||||||
|
@ -709,8 +707,6 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file
|
* Unzips a ZIP file
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
public static
|
public static
|
||||||
void unzipJar(File zipFile, File outputDir, boolean extractManifest) throws IOException {
|
void unzipJar(File zipFile, File outputDir, boolean extractManifest) throws IOException {
|
||||||
|
@ -726,8 +722,6 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file. Will close the input stream.
|
* Unzips a ZIP file. Will close the input stream.
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
public static
|
public static
|
||||||
void unzipJar(ZipInputStream inputStream, File outputDir, boolean extractManifest) throws IOException {
|
void unzipJar(ZipInputStream inputStream, File outputDir, boolean extractManifest) throws IOException {
|
||||||
|
@ -765,13 +759,11 @@ class FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unzips a ZIP file
|
* Unzips a ZIP file
|
||||||
*
|
|
||||||
* @return The path to the output directory.
|
|
||||||
*/
|
*/
|
||||||
private static
|
private static
|
||||||
void unjarzip1(ZipInputStream inputStream, File outputDir, boolean extractManifest) throws FileNotFoundException, IOException {
|
void unjarzip1(ZipInputStream inputStream, File outputDir, boolean extractManifest) throws IOException {
|
||||||
try {
|
try {
|
||||||
ZipEntry entry = null;
|
ZipEntry entry;
|
||||||
while ((entry = inputStream.getNextEntry()) != null) {
|
while ((entry = inputStream.getNextEntry()) != null) {
|
||||||
String name = entry.getName();
|
String name = entry.getName();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user