|
From: <pat...@us...> - 2010-10-28 22:15:17
|
Revision: 1145
http://cishell.svn.sourceforge.net/cishell/?rev=1145&view=rev
Author: pataphil
Date: 2010-10-28 22:15:11 +0000 (Thu, 28 Oct 2010)
Log Message:
-----------
* Implemented FileUtilities.writeEntireStreamToTemporaryFileInDirectory
* Fixed a small bug in ensureDirectoryExists
* Reviewed by Joseph.
Modified Paths:
--------------
trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java 2010-10-22 18:08:52 UTC (rev 1144)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java 2010-10-28 22:15:11 UTC (rev 1145)
@@ -33,12 +33,13 @@
* temporaryDirectoryPath, creating the directory if it doesn't
* already exist.
*/
- private static File createTemporaryDirectory(
- String temporaryDirectoryPath) {
- return ensureDirectoryExists(
- temporaryDirectoryPath + File.separator + "temp");
+ public static File createTemporaryDirectory(String temporaryDirectoryPath) {
+ String fullDirectoryPath =
+ String.format("%s%stemp", temporaryDirectoryPath, File.separator);
+
+ return ensureDirectoryExists(fullDirectoryPath);
}
-
+
// Attempt to create a temporary file on disk whose name is passed in.
public static File createTemporaryFile(File temporaryDirectory,
String temporaryDirectoryPath,
@@ -282,6 +283,27 @@
return temporaryFile;
}
+
+ public static File writeEntireStreamToTemporaryFileInDirectory(
+ InputStream input, File directory, String fileName, String fileExtension)
+ throws IOException {
+ File temporaryFile =
+ createTemporaryFile(directory, directory.getAbsolutePath(), fileName, fileExtension);
+ OutputStream output = new FileOutputStream(temporaryFile);
+ // TODO: Use READ_TEXT_FILE_BUFFER_SIZE.
+ byte[] readCharacters = new byte[1];
+ int readCharacterCount = input.read(readCharacters);
+
+ while (readCharacterCount > 0) {
+ output.write(readCharacters, 0, readCharacterCount);
+ readCharacterCount = input.read(readCharacters);
+ }
+
+ output.close();
+ input.close();
+
+ return temporaryFile;
+ }
public static String getFileExtension(File file) {
return getFileExtension(file.getAbsolutePath());
@@ -301,14 +323,14 @@
File directory = new File(directoryPath);
if (!directory.exists()) {
- directory.mkdir();
+ directory.mkdirs();
directory.deleteOnExit();
}
return directory;
}
-public static final char FILENAME_CHARACTER_REPLACEMENT = '#';
+ public static final char FILENAME_CHARACTER_REPLACEMENT = '#';
/* Attempt to enumerate characters which cannot be used to name a file.
* For our purposes, this should be as aggressive as sensible.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|