intradoc.common
Class FileUtils
java.lang.Object
|
+--intradoc.common.FileUtils
- public class FileUtils
- extends java.lang.Object
|
Method Summary |
static int |
checkFile(java.lang.String path,
boolean shouldBeFile,
boolean needWriteAccess)
|
static java.lang.String |
checkForASCIIEncoding(byte[] buf,
int start,
int len)
Make a guess if the buf contains nice ASCII characters. |
static java.lang.String |
checkForUnicodeEncoding(byte[] buf,
int start,
int len)
|
static void |
checkOrCreateDirectory(java.lang.String dir,
int numParents)
|
static void |
checkOrCreateDirectoryWithLock(java.lang.String dir,
int numParents,
boolean hasLock)
|
static void |
checkOrCreateSubDirectory(java.lang.String rootDir,
java.lang.String subDir)
|
static void |
closeFiles(java.io.OutputStream fos,
java.io.InputStream fis)
|
static void |
closeObject(java.lang.Object o)
|
static void |
closeObjectEx(java.lang.Object o)
|
static void |
closeObjects(java.lang.Object o1,
java.lang.Object o2)
|
static void |
closeObjectsEx(java.lang.Object o1,
java.lang.Object o2)
Closes the IO related objects o1 and o2 in a reasonable order. |
static void |
closeReader(java.io.Reader r)
|
static void |
copyDirectory(java.io.File fromDir,
java.io.File toDir,
int numParents,
boolean forceCopy)
|
static void |
copyFile(java.io.File from,
java.io.File to,
boolean forceCopy)
|
protected static long[] |
createLockingData(java.lang.String dir)
|
static void |
deleteDirectory(java.io.File dir,
boolean deleteSelf)
|
static void |
deleteFile(java.lang.String path)
|
static java.lang.String |
directorySlashes(java.lang.String dir)
|
static java.lang.String |
directorySlashesEx(java.lang.String dir,
boolean isDir)
|
static boolean |
filesAreDifferent(java.lang.String file1,
java.lang.String file2)
|
static java.lang.String |
fileSlashes(java.lang.String filePath)
|
static java.lang.String |
getAbsolutePath(java.lang.String path)
|
static java.lang.String |
getAbsolutePath(java.lang.String dir,
java.lang.String path)
|
protected static int |
getDefaultEncodingFlags()
|
static java.lang.String |
getDirectory(java.lang.String filename)
|
static java.lang.String |
getErrorMsg(java.lang.String path,
boolean shouldBeFile,
int errorCode)
|
static java.lang.String |
getExtension(java.lang.String path)
|
static java.lang.String[] |
getMatchingFileNames(java.lang.String dir,
java.lang.String wildCard)
|
static java.lang.String |
getName(java.lang.String filename)
|
static java.lang.String |
getParent(java.lang.String filename)
|
static java.lang.String |
getWorkingDir()
|
static boolean |
hasCurrentProcessLockedDirectoryBefore(java.lang.String dir)
|
static java.lang.String |
loadFile(java.io.InputStream is,
java.lang.String type,
java.lang.String[] encoding)
|
static boolean |
loadNativeOsUtils()
|
static java.lang.String |
loadProperties(java.util.Properties props,
java.io.InputStream is)
|
static void |
loadProperties(java.util.Properties props,
java.lang.String filePath)
|
static java.lang.String |
loadPropertiesEx(java.util.Properties props,
java.io.InputStream is,
java.lang.String encoding)
|
static void |
logLockingError(java.lang.String dir,
java.lang.String msg)
|
static java.lang.String |
makeSafeDirectoryForNtfs(java.lang.String dir)
|
static java.io.BufferedReader |
openDataReader(java.io.BufferedInputStream bstream,
java.lang.String encoding)
|
static java.io.BufferedReader |
openDataReader(java.io.File file)
|
static java.io.BufferedReader |
openDataReader(java.io.File file,
java.lang.String encoding)
|
static java.io.BufferedReader |
openDataReader(java.lang.String path)
|
static java.io.BufferedReader |
openDataReader(java.lang.String dir,
java.lang.String filename)
|
static java.io.BufferedReader |
openDataReader(java.lang.String dir,
java.lang.String filename,
java.lang.String encoding)
|
static java.io.BufferedReader |
openDataReaderEx(java.io.InputStream inStream,
java.lang.String encoding,
int flags)
|
static java.io.BufferedWriter |
openDataWriter(java.io.File file)
|
static java.io.BufferedWriter |
openDataWriter(java.io.File file,
java.lang.String encoding)
|
static java.io.BufferedWriter |
openDataWriter(java.lang.String path)
|
static java.io.BufferedWriter |
openDataWriter(java.lang.String dir,
java.lang.String filename)
|
static java.io.BufferedWriter |
openDataWriter(java.lang.String dir,
java.lang.String filename,
java.lang.String encoding)
|
static java.io.BufferedWriter |
openDataWriterEx(java.io.OutputStream out,
java.lang.String encoding,
int flags)
|
protected static void |
putLockData(java.lang.String dir,
long[] lockData)
|
static void |
redirectOutput(java.lang.String filename)
|
static void |
releaseDirectory(java.lang.String dir)
|
static void |
releaseLongTermLock(java.lang.String dir,
java.lang.String lockName,
java.lang.String agent)
|
static java.lang.String |
removeParentDirReferences(java.lang.String path)
removeParentDirReferences() removes "/../" parent
directory references from a path. |
static void |
renameFile(java.lang.String from,
java.lang.String to)
|
static void |
renameFileEx(java.io.File fromFile,
java.io.File toFile,
boolean forceRename)
|
static void |
reserveDirectory(java.lang.String dir)
|
static boolean |
reserveLongTermLock(java.lang.String dir,
java.lang.String lockName,
java.lang.String agent,
long timeout,
boolean waitForEver)
|
protected static long[] |
retrieveAndClearLockData(java.lang.String dir)
|
static boolean |
setLastModified(java.lang.String fileName,
long ts)
|
static void |
testFileSystem(java.lang.String dir)
|
static long |
touchFile(java.lang.String fileName)
|
static void |
validateDirectory(java.lang.String dir,
java.lang.String errMsg)
|
static void |
validateFile(java.lang.String path,
java.lang.String errMsg)
|
static void |
validatePath(java.lang.String path,
java.lang.String errMsg,
boolean shouldBeFile,
boolean needWriteAccess)
|
static java.lang.String |
windowsSlashes(java.lang.String path)
windowsSlashes() takes a path and converts all forward
slashes into backwards slashes, trims off a trailing
slash if one exists, and removes "/../" patterns in the
expected way. |
static void |
writeFileEncodingSignatureHeader(java.lang.String encoding,
java.io.OutputStream out)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INVALID_FILE_MARKER
public static final long INVALID_FILE_MARKER
- See Also:
- Constant Field Values
m_lockingLogPrefix
public static java.lang.String m_lockingLogPrefix
m_lockingLogPath
public static java.lang.String m_lockingLogPath
m_javaSystemEncoding
public static java.lang.String m_javaSystemEncoding
m_isoSystemEncoding
public static java.lang.String m_isoSystemEncoding
m_validateRenames
public static boolean m_validateRenames
m_lockTimeout
public static int m_lockTimeout
m_bgLockThreadStarted
public static boolean m_bgLockThreadStarted
m_longTermLockImpl
public static FileUtilsLockThread m_longTermLockImpl
MAX_LOCK_SUFFIC_COUNTER
public static final int MAX_LOCK_SUFFIC_COUNTER
- See Also:
- Constant Field Values
F_NO_SIGNATURE
public static final int F_NO_SIGNATURE
- See Also:
- Constant Field Values
UTF8_SIGNATURE
public static final byte[] UTF8_SIGNATURE
UNICODE_BIG_SIGNATURE
public static final byte[] UNICODE_BIG_SIGNATURE
UNICODE_LITTLE_SIGNATURE
public static final byte[] UNICODE_LITTLE_SIGNATURE
m_utils
protected static NativeOsUtils m_utils
FileUtils
public FileUtils()
reserveDirectory
public static void reserveDirectory(java.lang.String dir)
releaseDirectory
public static void releaseDirectory(java.lang.String dir)
reserveLongTermLock
public static boolean reserveLongTermLock(java.lang.String dir,
java.lang.String lockName,
java.lang.String agent,
long timeout,
boolean waitForEver)
throws ServiceException
ServiceException
releaseLongTermLock
public static void releaseLongTermLock(java.lang.String dir,
java.lang.String lockName,
java.lang.String agent)
logLockingError
public static void logLockingError(java.lang.String dir,
java.lang.String msg)
hasCurrentProcessLockedDirectoryBefore
public static boolean hasCurrentProcessLockedDirectoryBefore(java.lang.String dir)
createLockingData
protected static long[] createLockingData(java.lang.String dir)
retrieveAndClearLockData
protected static long[] retrieveAndClearLockData(java.lang.String dir)
putLockData
protected static void putLockData(java.lang.String dir,
long[] lockData)
getMatchingFileNames
public static java.lang.String[] getMatchingFileNames(java.lang.String dir,
java.lang.String wildCard)
checkOrCreateDirectoryWithLock
public static void checkOrCreateDirectoryWithLock(java.lang.String dir,
int numParents,
boolean hasLock)
throws ServiceException
ServiceException
checkOrCreateDirectory
public static void checkOrCreateDirectory(java.lang.String dir,
int numParents)
throws ServiceException
ServiceException
checkOrCreateSubDirectory
public static void checkOrCreateSubDirectory(java.lang.String rootDir,
java.lang.String subDir)
throws ServiceException
ServiceException
testFileSystem
public static void testFileSystem(java.lang.String dir)
throws ServiceException
ServiceException
openDataWriter
public static java.io.BufferedWriter openDataWriter(java.lang.String dir,
java.lang.String filename)
throws java.io.IOException
java.io.IOException
openDataWriter
public static java.io.BufferedWriter openDataWriter(java.io.File file)
throws java.io.IOException
java.io.IOException
openDataWriter
public static java.io.BufferedWriter openDataWriter(java.lang.String path)
throws java.io.IOException
java.io.IOException
openDataWriter
public static java.io.BufferedWriter openDataWriter(java.lang.String dir,
java.lang.String filename,
java.lang.String encoding)
throws java.io.IOException,
java.io.UnsupportedEncodingException
java.io.IOException
java.io.UnsupportedEncodingException
openDataWriter
public static java.io.BufferedWriter openDataWriter(java.io.File file,
java.lang.String encoding)
throws java.io.IOException,
java.io.UnsupportedEncodingException
java.io.IOException
java.io.UnsupportedEncodingException
openDataWriterEx
public static java.io.BufferedWriter openDataWriterEx(java.io.OutputStream out,
java.lang.String encoding,
int flags)
throws java.io.IOException,
java.io.UnsupportedEncodingException
java.io.IOException
java.io.UnsupportedEncodingException
writeFileEncodingSignatureHeader
public static void writeFileEncodingSignatureHeader(java.lang.String encoding,
java.io.OutputStream out)
throws java.io.IOException
java.io.IOException
openDataReader
public static java.io.BufferedReader openDataReader(java.lang.String dir,
java.lang.String filename)
throws java.io.IOException
java.io.IOException
openDataReader
public static java.io.BufferedReader openDataReader(java.io.File file)
throws java.io.IOException
java.io.IOException
openDataReader
public static java.io.BufferedReader openDataReader(java.lang.String path)
throws java.io.IOException
java.io.IOException
openDataReader
public static java.io.BufferedReader openDataReader(java.lang.String dir,
java.lang.String filename,
java.lang.String encoding)
throws java.io.IOException
java.io.IOException
openDataReader
public static java.io.BufferedReader openDataReader(java.io.File file,
java.lang.String encoding)
throws java.io.IOException
java.io.IOException
openDataReader
public static java.io.BufferedReader openDataReader(java.io.BufferedInputStream bstream,
java.lang.String encoding)
throws java.io.IOException
java.io.IOException
getDefaultEncodingFlags
protected static int getDefaultEncodingFlags()
openDataReaderEx
public static java.io.BufferedReader openDataReaderEx(java.io.InputStream inStream,
java.lang.String encoding,
int flags)
throws java.io.IOException
java.io.IOException
checkFile
public static int checkFile(java.lang.String path,
boolean shouldBeFile,
boolean needWriteAccess)
getErrorMsg
public static java.lang.String getErrorMsg(java.lang.String path,
boolean shouldBeFile,
int errorCode)
validateDirectory
public static void validateDirectory(java.lang.String dir,
java.lang.String errMsg)
throws ServiceException
ServiceException
validateFile
public static void validateFile(java.lang.String path,
java.lang.String errMsg)
throws ServiceException
ServiceException
validatePath
public static void validatePath(java.lang.String path,
java.lang.String errMsg,
boolean shouldBeFile,
boolean needWriteAccess)
throws ServiceException
ServiceException
deleteFile
public static void deleteFile(java.lang.String path)
deleteDirectory
public static void deleteDirectory(java.io.File dir,
boolean deleteSelf)
throws ServiceException
ServiceException
directorySlashesEx
public static java.lang.String directorySlashesEx(java.lang.String dir,
boolean isDir)
directorySlashes
public static java.lang.String directorySlashes(java.lang.String dir)
fileSlashes
public static java.lang.String fileSlashes(java.lang.String filePath)
renameFile
public static void renameFile(java.lang.String from,
java.lang.String to)
throws ServiceException
ServiceException
renameFileEx
public static void renameFileEx(java.io.File fromFile,
java.io.File toFile,
boolean forceRename)
throws ServiceException
ServiceException
copyFile
public static void copyFile(java.io.File from,
java.io.File to,
boolean forceCopy)
throws ServiceException
ServiceException
copyDirectory
public static void copyDirectory(java.io.File fromDir,
java.io.File toDir,
int numParents,
boolean forceCopy)
throws ServiceException
ServiceException
closeFiles
public static void closeFiles(java.io.OutputStream fos,
java.io.InputStream fis)
closeObjectEx
public static void closeObjectEx(java.lang.Object o)
throws java.io.IOException
java.io.IOException
closeObject
public static void closeObject(java.lang.Object o)
closeObjectsEx
public static void closeObjectsEx(java.lang.Object o1,
java.lang.Object o2)
throws java.io.IOException
- Closes the IO related objects o1 and o2 in a reasonable order. o1 and
o2 should be some sort of IO object, like a InputStream, OutputStream,
Reader, or Writer. (Python does it better.) This method guarantees that
both objects get close()d regardless of any exception that gets thrown.
Exceptions from closes of "input" objects are ignored. If both arguments
are output-type and both throw Exceptions, o1's exception gets thrown.
If you pass an unreasonable argument, an IOException will get thrown.
java.io.IOException
closeObjects
public static void closeObjects(java.lang.Object o1,
java.lang.Object o2)
closeReader
public static void closeReader(java.io.Reader r)
touchFile
public static long touchFile(java.lang.String fileName)
setLastModified
public static boolean setLastModified(java.lang.String fileName,
long ts)
throws ServiceException
ServiceException
loadNativeOsUtils
public static boolean loadNativeOsUtils()
getAbsolutePath
public static java.lang.String getAbsolutePath(java.lang.String path)
getAbsolutePath
public static java.lang.String getAbsolutePath(java.lang.String dir,
java.lang.String path)
getDirectory
public static java.lang.String getDirectory(java.lang.String filename)
getParent
public static java.lang.String getParent(java.lang.String filename)
getName
public static java.lang.String getName(java.lang.String filename)
getWorkingDir
public static java.lang.String getWorkingDir()
getExtension
public static java.lang.String getExtension(java.lang.String path)
loadFile
public static java.lang.String loadFile(java.io.InputStream is,
java.lang.String type,
java.lang.String[] encoding)
throws java.io.IOException
java.io.IOException
checkForASCIIEncoding
public static java.lang.String checkForASCIIEncoding(byte[] buf,
int start,
int len)
- Make a guess if the buf contains nice ASCII characters.
The rules are:
1. 7-bit clean
2. no 0 bytes
checkForUnicodeEncoding
public static java.lang.String checkForUnicodeEncoding(byte[] buf,
int start,
int len)
loadProperties
public static java.lang.String loadProperties(java.util.Properties props,
java.io.InputStream is)
throws java.io.IOException
java.io.IOException
loadPropertiesEx
public static java.lang.String loadPropertiesEx(java.util.Properties props,
java.io.InputStream is,
java.lang.String encoding)
throws java.io.IOException
java.io.IOException
loadProperties
public static void loadProperties(java.util.Properties props,
java.lang.String filePath)
throws java.io.IOException
java.io.IOException
redirectOutput
public static void redirectOutput(java.lang.String filename)
filesAreDifferent
public static boolean filesAreDifferent(java.lang.String file1,
java.lang.String file2)
throws java.io.IOException,
ServiceException
java.io.IOException
ServiceException
windowsSlashes
public static java.lang.String windowsSlashes(java.lang.String path)
- windowsSlashes() takes a path and converts all forward
slashes into backwards slashes, trims off a trailing
slash if one exists, and removes "/../" patterns in the
expected way. This is useful for Windows native stuff
that is very sensitive to such things.
removeParentDirReferences
public static java.lang.String removeParentDirReferences(java.lang.String path)
- removeParentDirReferences() removes "/../" parent
directory references from a path.
makeSafeDirectoryForNtfs
public static java.lang.String makeSafeDirectoryForNtfs(java.lang.String dir)
(c) 1996-2005 All rights reserved. Stellent, Inc. |