org.gudy.azureus2.core3.util
Class FileUtil

java.lang.Object
  extended by org.gudy.azureus2.core3.util.FileUtil

public class FileUtil
extends Object

File utility class.


Nested Class Summary
static class FileUtil.InternedFile
           
 
Field Summary
static String DIR_SEP
           
 
Constructor Summary
FileUtil()
           
 
Method Summary
static void backupFile(File _file, boolean _make_copy)
          Backup the given file to filename.bak, removing the old .bak file if necessary.
static void backupFile(String _filename, boolean _make_copy)
          Backup the given file to filename.bak, removing the old .bak file if necessary.
static File canonise(File file)
           
static boolean canReallyWriteToAppDirectory()
           
static boolean canWriteToDirectory(File dir)
           
static String convertOSSpecificChars(String file_name_in, boolean is_folder)
           
static boolean copyFile(File _source, File _dest)
          Copy the given source file to the given destination file.
static boolean copyFile(File _source, OutputStream _dest, boolean closeInputStream)
           
static void copyFile(InputStream _source, File _dest)
          copys the input stream to the file.
static void copyFile(InputStream _source, File _dest, boolean _close_input_stream)
           
static void copyFile(InputStream is, OutputStream os)
           
static void copyFile(InputStream is, OutputStream os, boolean closeInputStream)
           
static boolean copyFile(String _source_name, String _dest_name)
          Copy the given source file to the given destination file.
static void copyFileOrDirectory(File from_file_or_dir, File to_parent_dir)
           
static void copyFileWithException(File _source, File _dest)
           
static void deleteResilientConfigFile(String name)
           
static void deleteResilientFile(File file)
           
static boolean deleteWithRecycle(File file, boolean force_no_recycle)
           
static File getApplicationFile(String filename)
          Get a file relative to this program's install directory.
static String getCanonicalFileName(String filename)
           
static String getExtension(String fName)
          Gets the extension of a file name, ensuring we don't go into the path
static File getFileOrBackup(String _filename)
          Returns the file handle for the given filename or it's equivalent .bak backup file if the original doesn't exist or is 0-sized.
static long getFileOrDirectorySize(File file)
           
static File getJarFileFromClass(Class cla)
           
static File getJarFileFromURL(String url_str)
           
static String getScriptCharsetEncoding()
           
static long getUsableSpace(File f)
           
static boolean getUsableSpaceSupported()
           
static File getUserFile(String filename)
           
static FileUtil.InternedFile internFileComponents(File file)
           
static boolean isAncestorOf(File parent, File child)
           
static boolean isMyFileLock()
           
static boolean mkdirs(File f)
          Makes Directories as long as the directory isn't directly in Volumes (OSX)
static byte[] readFileAsByteArray(File file)
           
static String readFileAsString(File file, int size_limit)
           
static String readFileAsString(File file, int size_limit, String charset)
           
static String readFileEndAsString(File file, int size_limit)
           
static String readFileEndAsString(File file, int size_limit, String charset)
           
static String readGZippedFileAsString(File file, int size_limit)
           
static byte[] readInputStreamAsByteArray(InputStream is)
           
static byte[] readInputStreamAsByteArray(InputStream is, int size_limit)
           
static String readInputStreamAsString(InputStream is, int size_limit)
           
static String readInputStreamAsString(InputStream is, int size_limit, String charSet)
           
static String readInputStreamAsStringWithTruncation(InputStream is, int size_limit)
           
static Map readResilientConfigFile(String file_name)
           
static Map readResilientConfigFile(String file_name, boolean use_backups)
           
static Map readResilientFile(File file)
           
static Map readResilientFile(File parent_dir, String file_name, boolean use_backup)
           
static Map readResilientFile(File parent_dir, String file_name, boolean use_backup, boolean intern_keys)
           
static boolean recursiveDelete(File f)
          Deletes the given dir and all files/dirs underneath
static boolean recursiveDeleteNoCheck(File f)
           
protected static void recursiveEmptyDirDelete(File f, Set ignore_set, boolean log_warnings)
           
static boolean renameFile(File from_file, File to_file)
           
static boolean renameFile(File from_file, File to_file, boolean fail_on_existing_directory)
           
static boolean renameFile(File from_file, File to_file, boolean fail_on_existing_directory, FileFilter file_filter)
           
static boolean resilientConfigFileExists(String name)
           
static void runAsTask(AzureusCoreOperationTask task)
           
static String translateMoveFilePath(String old_root, String new_root, String file_to_move)
           
static void writeBytesAsFile(String filename, byte[] file_data)
           
static boolean writeBytesAsFile2(String filename, byte[] file_data)
           
static void writeResilientConfigFile(String file_name, Map data)
           
static void writeResilientFile(File file, Map data)
           
static void writeResilientFile(File parent_dir, String file_name, Map data, boolean use_backup)
           
static void writeResilientFile(File parent_dir, String file_name, Map data, boolean use_backup, boolean copy_to_backup)
           
static boolean writeResilientFileWithResult(File parent_dir, String file_name, Map data)
           
static boolean writeStringAsFile(File file, String text)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIR_SEP

public static final String DIR_SEP
Constructor Detail

FileUtil

public FileUtil()
Method Detail

isAncestorOf

public static boolean isAncestorOf(File parent,
                                   File child)

canonise

public static File canonise(File file)

getCanonicalFileName

public static String getCanonicalFileName(String filename)

getUserFile

public static File getUserFile(String filename)

getApplicationFile

public static File getApplicationFile(String filename)
Get a file relative to this program's install directory.

On Windows, this is usually %Program Files%\[AppName]\[filename]
On *nix, this is usually the [Launch Dir]/[filename]
On Mac, this is "/Users/Shared/Library/Application Support/[AppName]/[filename]" On legacy (unsigned) Mac, it's usually "[AppName].app/Contents"


recursiveDelete

public static boolean recursiveDelete(File f)
Deletes the given dir and all files/dirs underneath


recursiveDeleteNoCheck

public static boolean recursiveDeleteNoCheck(File f)

getFileOrDirectorySize

public static long getFileOrDirectorySize(File file)

recursiveEmptyDirDelete

protected static void recursiveEmptyDirDelete(File f,
                                              Set ignore_set,
                                              boolean log_warnings)

convertOSSpecificChars

public static String convertOSSpecificChars(String file_name_in,
                                            boolean is_folder)

writeResilientConfigFile

public static void writeResilientConfigFile(String file_name,
                                            Map data)

writeResilientFile

public static void writeResilientFile(File file,
                                      Map data)

writeResilientFileWithResult

public static boolean writeResilientFileWithResult(File parent_dir,
                                                   String file_name,
                                                   Map data)

writeResilientFile

public static void writeResilientFile(File parent_dir,
                                      String file_name,
                                      Map data,
                                      boolean use_backup)

writeResilientFile

public static void writeResilientFile(File parent_dir,
                                      String file_name,
                                      Map data,
                                      boolean use_backup,
                                      boolean copy_to_backup)

resilientConfigFileExists

public static boolean resilientConfigFileExists(String name)

readResilientConfigFile

public static Map readResilientConfigFile(String file_name)
Returns:
Map read from config file, or empty HashMap if error

readResilientConfigFile

public static Map readResilientConfigFile(String file_name,
                                          boolean use_backups)
Returns:
Map read from config file, or empty HashMap if error

readResilientFile

public static Map readResilientFile(File file)
Returns:
Map read from config file, or empty HashMap if error

readResilientFile

public static Map readResilientFile(File parent_dir,
                                    String file_name,
                                    boolean use_backup)
Returns:
Map read from config file, or empty HashMap if error

readResilientFile

public static Map readResilientFile(File parent_dir,
                                    String file_name,
                                    boolean use_backup,
                                    boolean intern_keys)
Parameters:
parent_dir -
file_name -
use_backup -
intern_keys -
Returns:
Map read from config file, or empty HashMap if error

deleteResilientFile

public static void deleteResilientFile(File file)

deleteResilientConfigFile

public static void deleteResilientConfigFile(String name)

isMyFileLock

public static boolean isMyFileLock()

backupFile

public static void backupFile(String _filename,
                              boolean _make_copy)
Backup the given file to filename.bak, removing the old .bak file if necessary. If _make_copy is true, the original file will copied to backup, rather than moved.

Parameters:
_filename - name of file to backup
_make_copy - copy instead of move

backupFile

public static void backupFile(File _file,
                              boolean _make_copy)
Backup the given file to filename.bak, removing the old .bak file if necessary. If _make_copy is true, the original file will copied to backup, rather than moved.

Parameters:
_file - file to backup
_make_copy - copy instead of move

copyFile

public static boolean copyFile(String _source_name,
                               String _dest_name)
Copy the given source file to the given destination file. Returns file copy success or not.

Parameters:
_source_name - source file name
_dest_name - destination file name
Returns:
true if file copy successful, false if copy failed

copyFile

public static boolean copyFile(File _source,
                               File _dest)
Copy the given source file to the given destination file. Returns file copy success or not.

Parameters:
_source - source file
_dest - destination file
Returns:
true if file copy successful, false if copy failed

copyFileWithException

public static void copyFileWithException(File _source,
                                         File _dest)
                                  throws IOException
Throws:
IOException

copyFile

public static boolean copyFile(File _source,
                               OutputStream _dest,
                               boolean closeInputStream)

copyFile

public static void copyFile(InputStream _source,
                            File _dest)
                     throws IOException
copys the input stream to the file. always closes the input stream

Parameters:
_source -
_dest -
Throws:
IOException

copyFile

public static void copyFile(InputStream _source,
                            File _dest,
                            boolean _close_input_stream)
                     throws IOException
Throws:
IOException

copyFile

public static void copyFile(InputStream is,
                            OutputStream os)
                     throws IOException
Throws:
IOException

copyFile

public static void copyFile(InputStream is,
                            OutputStream os,
                            boolean closeInputStream)
                     throws IOException
Throws:
IOException

copyFileOrDirectory

public static void copyFileOrDirectory(File from_file_or_dir,
                                       File to_parent_dir)
                                throws IOException
Throws:
IOException

getFileOrBackup

public static File getFileOrBackup(String _filename)
Returns the file handle for the given filename or it's equivalent .bak backup file if the original doesn't exist or is 0-sized. If neither the original nor the backup are available, a null handle is returned.

Parameters:
_filename - root name of file
Returns:
file if successful, null if failed

getJarFileFromClass

public static File getJarFileFromClass(Class cla)

getJarFileFromURL

public static File getJarFileFromURL(String url_str)

renameFile

public static boolean renameFile(File from_file,
                                 File to_file)

renameFile

public static boolean renameFile(File from_file,
                                 File to_file,
                                 boolean fail_on_existing_directory)

renameFile

public static boolean renameFile(File from_file,
                                 File to_file,
                                 boolean fail_on_existing_directory,
                                 FileFilter file_filter)

writeStringAsFile

public static boolean writeStringAsFile(File file,
                                        String text)

writeBytesAsFile

public static void writeBytesAsFile(String filename,
                                    byte[] file_data)

writeBytesAsFile2

public static boolean writeBytesAsFile2(String filename,
                                        byte[] file_data)

deleteWithRecycle

public static boolean deleteWithRecycle(File file,
                                        boolean force_no_recycle)

translateMoveFilePath

public static String translateMoveFilePath(String old_root,
                                           String new_root,
                                           String file_to_move)

runAsTask

public static void runAsTask(AzureusCoreOperationTask task)

mkdirs

public static boolean mkdirs(File f)
Makes Directories as long as the directory isn't directly in Volumes (OSX)

Parameters:
f -
Returns:

getExtension

public static String getExtension(String fName)
Gets the extension of a file name, ensuring we don't go into the path

Parameters:
fName - File name
Returns:
extension, with the '.'

readFileAsString

public static String readFileAsString(File file,
                                      int size_limit,
                                      String charset)
                               throws IOException
Throws:
IOException

readFileAsString

public static String readFileAsString(File file,
                                      int size_limit)
                               throws IOException
Throws:
IOException

readGZippedFileAsString

public static String readGZippedFileAsString(File file,
                                             int size_limit)
                                      throws IOException
Throws:
IOException

readInputStreamAsString

public static String readInputStreamAsString(InputStream is,
                                             int size_limit)
                                      throws IOException
Throws:
IOException

readInputStreamAsString

public static String readInputStreamAsString(InputStream is,
                                             int size_limit,
                                             String charSet)
                                      throws IOException
Throws:
IOException

readInputStreamAsStringWithTruncation

public static String readInputStreamAsStringWithTruncation(InputStream is,
                                                           int size_limit)
                                                    throws IOException
Throws:
IOException

readFileEndAsString

public static String readFileEndAsString(File file,
                                         int size_limit)
                                  throws IOException
Throws:
IOException

readFileEndAsString

public static String readFileEndAsString(File file,
                                         int size_limit,
                                         String charset)
                                  throws IOException
Throws:
IOException

readInputStreamAsByteArray

public static byte[] readInputStreamAsByteArray(InputStream is)
                                         throws IOException
Throws:
IOException

readInputStreamAsByteArray

public static byte[] readInputStreamAsByteArray(InputStream is,
                                                int size_limit)
                                         throws IOException
Throws:
IOException

readFileAsByteArray

public static byte[] readFileAsByteArray(File file)
                                  throws IOException
Throws:
IOException

getUsableSpaceSupported

public static final boolean getUsableSpaceSupported()

getUsableSpace

public static final long getUsableSpace(File f)

canReallyWriteToAppDirectory

public static boolean canReallyWriteToAppDirectory()

canWriteToDirectory

public static boolean canWriteToDirectory(File dir)

getScriptCharsetEncoding

public static String getScriptCharsetEncoding()

internFileComponents

public static FileUtil.InternedFile internFileComponents(File file)