From 797bc67989bb7b66564827edd566f15ab640a7ee Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 31 Jan 2012 21:41:54 -0500
Subject: [PATCH] Fixed type in CentOS script
---
src/com/gitblit/utils/FileUtils.java | 68 ++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 0 deletions(-)
diff --git a/src/com/gitblit/utils/FileUtils.java b/src/com/gitblit/utils/FileUtils.java
index 310e35a..29c9d0f 100644
--- a/src/com/gitblit/utils/FileUtils.java
+++ b/src/com/gitblit/utils/FileUtils.java
@@ -15,10 +15,16 @@
*/
package com.gitblit.utils;
+import java.io.BufferedInputStream;
import java.io.BufferedReader;
+import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
/**
@@ -58,6 +64,25 @@
}
/**
+ * Writes the string content to the file.
+ *
+ * @param file
+ * @param content
+ */
+ public static void writeContent(File file, String content) {
+ try {
+ OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(file),
+ Charset.forName("UTF-8"));
+ BufferedWriter writer = new BufferedWriter(os);
+ writer.append(content);
+ writer.close();
+ } catch (Throwable t) {
+ System.err.println("Failed to write content of " + file.getAbsolutePath());
+ t.printStackTrace();
+ }
+ }
+
+ /**
* Recursively traverses a folder and its subfolders to calculate the total
* size in bytes.
*
@@ -81,4 +106,47 @@
}
return length;
}
+
+ /**
+ * Copies a file or folder (recursively) to a destination folder.
+ *
+ * @param destinationFolder
+ * @param filesOrFolders
+ * @return
+ * @throws FileNotFoundException
+ * @throws IOException
+ */
+ public static void copy(File destinationFolder, File... filesOrFolders)
+ throws FileNotFoundException, IOException {
+ destinationFolder.mkdirs();
+ for (File file : filesOrFolders) {
+ if (file.isDirectory()) {
+ copy(new File(destinationFolder, file.getName()), file.listFiles());
+ } else {
+ File dFile = new File(destinationFolder, file.getName());
+ BufferedInputStream bufin = null;
+ FileOutputStream fos = null;
+ try {
+ bufin = new BufferedInputStream(new FileInputStream(file));
+ fos = new FileOutputStream(dFile);
+ int len = 8196;
+ byte[] buff = new byte[len];
+ int n = 0;
+ while ((n = bufin.read(buff, 0, len)) != -1) {
+ fos.write(buff, 0, n);
+ }
+ } finally {
+ try {
+ bufin.close();
+ } catch (Throwable t) {
+ }
+ try {
+ fos.close();
+ } catch (Throwable t) {
+ }
+ }
+ dFile.setLastModified(file.lastModified());
+ }
+ }
+ }
}
--
Gitblit v1.9.1