You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by lh...@apache.org on 2008/12/08 14:40:58 UTC
svn commit: r724345 -
/servicemix/utils/trunk/src/main/java/org/apache/servicemix/util/FileUtil.java
Author: lhein
Date: Mon Dec 8 05:40:58 2008
New Revision: 724345
URL: http://svn.apache.org/viewvc?rev=724345&view=rev
Log:
helper methods for determining if a file is fully copied and available or if the copy process is still running
actually it checks the file size with a delay of 100 millis
Modified:
servicemix/utils/trunk/src/main/java/org/apache/servicemix/util/FileUtil.java
Modified: servicemix/utils/trunk/src/main/java/org/apache/servicemix/util/FileUtil.java
URL: http://svn.apache.org/viewvc/servicemix/utils/trunk/src/main/java/org/apache/servicemix/util/FileUtil.java?rev=724345&r1=724344&r2=724345&view=diff
==============================================================================
--- servicemix/utils/trunk/src/main/java/org/apache/servicemix/util/FileUtil.java (original)
+++ servicemix/utils/trunk/src/main/java/org/apache/servicemix/util/FileUtil.java Mon Dec 8 05:40:58 2008
@@ -313,5 +313,36 @@
}
}
-
+ /**
+ * checks whether a file is fully transmitted or still being copied
+ *
+ * @param path the full file path
+ * @returns true if the file size didn't change for 100 millis
+ */
+ public static boolean isFileFullyAvailable(String path) {
+ return isFileFullyAvailable(new File(path));
+ }
+
+ /**
+ * checks whether a file is fully transmitted or still being copied
+ *
+ * @param file the file to check
+ * @returns true if the file size didn't change for 100 millis
+ */
+ public static boolean isFileFullyAvailable(File file) {
+ // First check to see if the file is still growing
+ long targetLength = file.length();
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ //Do nothing
+ }
+ long target2Length = file.length();
+
+ if (targetLength != target2Length) {
+ return false;
+ }
+
+ return true;
+ }
}
\ No newline at end of file