From 235ad956fa84cad4fac1b2e69a0c9e4f50376ea3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 30 Sep 2013 10:10:48 -0400
Subject: [PATCH] Revise date label creation for optional css class
---
src/main/java/com/gitblit/utils/FileUtils.java | 70 ++++++++++++++++++++++++++++++-----
1 files changed, 60 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/gitblit/utils/FileUtils.java b/src/main/java/com/gitblit/utils/FileUtils.java
index a21b512..f3a2598 100644
--- a/src/main/java/com/gitblit/utils/FileUtils.java
+++ b/src/main/java/com/gitblit/utils/FileUtils.java
@@ -108,13 +108,22 @@
*/
public static byte [] readContent(File file) {
byte [] buffer = new byte[(int) file.length()];
+ BufferedInputStream is = null;
try {
- BufferedInputStream is = new BufferedInputStream(new FileInputStream(file));
+ is = new BufferedInputStream(new FileInputStream(file));
is.read(buffer, 0, buffer.length);
- is.close();
} catch (Throwable t) {
System.err.println("Failed to read byte content of " + file.getAbsolutePath());
t.printStackTrace();
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException ioe) {
+ System.err.println("Failed to close file " + file.getAbsolutePath());
+ ioe.printStackTrace();
+ }
+ }
}
return buffer;
}
@@ -128,9 +137,9 @@
*/
public static String readContent(File file, String lineEnding) {
StringBuilder sb = new StringBuilder();
+ InputStreamReader is = null;
try {
- InputStreamReader is = new InputStreamReader(new FileInputStream(file),
- Charset.forName("UTF-8"));
+ is = new InputStreamReader(new FileInputStream(file), Charset.forName("UTF-8"));
BufferedReader reader = new BufferedReader(is);
String line = null;
while ((line = reader.readLine()) != null) {
@@ -139,10 +148,18 @@
sb.append(lineEnding);
}
}
- reader.close();
} catch (Throwable t) {
System.err.println("Failed to read content of " + file.getAbsolutePath());
t.printStackTrace();
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException ioe) {
+ System.err.println("Failed to close file " + file.getAbsolutePath());
+ ioe.printStackTrace();
+ }
+ }
}
return sb.toString();
}
@@ -154,15 +171,24 @@
* @param content
*/
public static void writeContent(File file, String content) {
+ OutputStreamWriter os = null;
try {
- OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(file),
- Charset.forName("UTF-8"));
+ os = new OutputStreamWriter(new FileOutputStream(file), Charset.forName("UTF-8"));
BufferedWriter writer = new BufferedWriter(os);
writer.append(content);
- writer.close();
+ writer.flush();
} catch (Throwable t) {
System.err.println("Failed to write content of " + file.getAbsolutePath());
t.printStackTrace();
+ } finally {
+ if (os != null) {
+ try {
+ os.close();
+ } catch (IOException ioe) {
+ System.err.println("Failed to close file " + file.getAbsolutePath());
+ ioe.printStackTrace();
+ }
+ }
}
}
@@ -187,6 +213,30 @@
return directory.length();
}
return 0;
+ }
+
+ /**
+ * Delete a file or recursively delete a folder.
+ *
+ * @param fileOrFolder
+ * @return true, if successful
+ */
+ public static boolean delete(File fileOrFolder) {
+ boolean success = false;
+ if (fileOrFolder.isDirectory()) {
+ File [] files = fileOrFolder.listFiles();
+ if (files != null) {
+ for (File file : files) {
+ if (file.isDirectory()) {
+ success |= delete(file);
+ } else {
+ success |= file.delete();
+ }
+ }
+ }
+ }
+ success |= fileOrFolder.delete();
+ return success;
}
/**
@@ -219,11 +269,11 @@
}
} finally {
try {
- bufin.close();
+ if (bufin != null) bufin.close();
} catch (Throwable t) {
}
try {
- fos.close();
+ if (fos != null) fos.close();
} catch (Throwable t) {
}
}
--
Gitblit v1.9.1