libgdx API

com.badlogic.gdx.files
Class FileHandle

java.lang.Object
  extended by com.badlogic.gdx.files.FileHandle
Direct Known Subclasses:
FileHandleStream

public class FileHandle
extends java.lang.Object

Represents a file or directory on the filesystem, classpath, Android SD card, or Android assets directory. FileHandles are created via a Files instance.

Author:
mzechner, Nathan Sweet

Field Summary
protected  java.io.File file
           
protected  Files.FileType type
           
 
Constructor Summary
protected FileHandle()
           
  FileHandle(java.io.File file)
          Creates a new absolute FileHandle for the File.
protected FileHandle(java.io.File file, Files.FileType type)
           
  FileHandle(java.lang.String fileName)
          Creates a new absolute FileHandle for the file name.
protected FileHandle(java.lang.String fileName, Files.FileType type)
           
 
Method Summary
 FileHandle child(java.lang.String name)
          Returns a handle to the child with the specified name.
 void copyTo(FileHandle dest)
          Copies this file or directory to the specified file or directory.
 boolean delete()
          Deletes this file or empty directory and returns success.
 boolean deleteDirectory()
          Deletes this file or directory and all children, recursively.
 boolean exists()
          Returns true if the file exists.
 java.lang.String extension()
           
 java.io.File file()
          Returns a java.io.File that represents this file handle.
 boolean isDirectory()
          Returns true if this file is a directory.
 long lastModified()
          Returns the last modified time in milliseconds for this file.
 long length()
          Returns the length in bytes of this file, or 0 if this file is a directory, does not exist, or the size cannot otherwise be determined.
 FileHandle[] list()
          Returns the paths to the children of this directory.
 FileHandle[] list(java.lang.String suffix)
          Returns the paths to the children of this directory with the specified suffix.
 void mkdirs()
           
 void moveTo(FileHandle dest)
          Moves this file to the specified file, overwriting the file if it already exists.
 java.lang.String name()
           
 java.lang.String nameWithoutExtension()
           
 FileHandle parent()
           
 java.lang.String path()
           
 java.io.InputStream read()
          Returns a stream for reading this file as bytes.
 java.io.BufferedInputStream read(int bufferSize)
          Returns a buffered stream for reading this file as bytes.
 byte[] readBytes()
          Reads the entire file into a byte array.
 int readBytes(byte[] bytes, int offset, int size)
          Reads the entire file into the byte array.
 java.io.Reader reader()
          Returns a reader for reading this file as characters.
 java.io.BufferedReader reader(int bufferSize)
          Returns a buffered reader for reading this file as characters.
 java.io.BufferedReader reader(int bufferSize, java.lang.String charset)
          Returns a buffered reader for reading this file as characters.
 java.io.Reader reader(java.lang.String charset)
          Returns a reader for reading this file as characters.
 java.lang.String readString()
          Reads the entire file into a string using the platform's default charset.
 java.lang.String readString(java.lang.String charset)
          Reads the entire file into a string using the specified charset.
static FileHandle tempDirectory(java.lang.String prefix)
           
static FileHandle tempFile(java.lang.String prefix)
           
 java.lang.String toString()
           
 Files.FileType type()
           
 java.io.OutputStream write(boolean append)
          Returns a stream for writing to this file.
 void write(java.io.InputStream input, boolean append)
          Reads the remaining bytes from the specified stream and writes them to this file.
 void writeBytes(byte[] bytes, boolean append)
          Writes the specified bytes to the file.
 void writeBytes(byte[] bytes, int offset, int length, boolean append)
          Writes the specified bytes to the file.
 java.io.Writer writer(boolean append)
          Returns a writer for writing to this file using the default charset.
 java.io.Writer writer(boolean append, java.lang.String charset)
          Returns a writer for writing to this file.
 void writeString(java.lang.String string, boolean append)
          Writes the specified string to the file using the default charset.
 void writeString(java.lang.String string, boolean append, java.lang.String charset)
          Writes the specified string to the file as UTF-8.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

file

protected java.io.File file

type

protected Files.FileType type
Constructor Detail

FileHandle

protected FileHandle()

FileHandle

public FileHandle(java.lang.String fileName)
Creates a new absolute FileHandle for the file name. Use this for tools on the desktop that don't need any of the backends. Do not use this constructor in case you write something cross-platform. Use the Files interface instead.

Parameters:
fileName - the filename.

FileHandle

public FileHandle(java.io.File file)
Creates a new absolute FileHandle for the File. Use this for tools on the desktop that don't need any of the backends. Do not use this constructor in case you write something cross-platform. Use the Files interface instead.

Parameters:
file - the file.

FileHandle

protected FileHandle(java.lang.String fileName,
                     Files.FileType type)

FileHandle

protected FileHandle(java.io.File file,
                     Files.FileType type)
Method Detail

path

public java.lang.String path()

name

public java.lang.String name()

extension

public java.lang.String extension()

nameWithoutExtension

public java.lang.String nameWithoutExtension()

type

public Files.FileType type()

file

public java.io.File file()
Returns a java.io.File that represents this file handle. Note the returned file will only be usable for Files.FileType.Absolute and Files.FileType.External file handles.


read

public java.io.InputStream read()
Returns a stream for reading this file as bytes.


read

public java.io.BufferedInputStream read(int bufferSize)
Returns a buffered stream for reading this file as bytes.


reader

public java.io.Reader reader()
Returns a reader for reading this file as characters.


reader

public java.io.Reader reader(java.lang.String charset)
Returns a reader for reading this file as characters.


reader

public java.io.BufferedReader reader(int bufferSize)
Returns a buffered reader for reading this file as characters.


reader

public java.io.BufferedReader reader(int bufferSize,
                                     java.lang.String charset)
Returns a buffered reader for reading this file as characters.


readString

public java.lang.String readString()
Reads the entire file into a string using the platform's default charset.


readString

public java.lang.String readString(java.lang.String charset)
Reads the entire file into a string using the specified charset.


readBytes

public byte[] readBytes()
Reads the entire file into a byte array.


readBytes

public int readBytes(byte[] bytes,
                     int offset,
                     int size)
Reads the entire file into the byte array. The byte array must be big enough to hold the file's data.

Parameters:
bytes - the array to load the file into
offset - the offset to start writing bytes
size - the number of bytes to read, see length()
Returns:
the number of read bytes

write

public java.io.OutputStream write(boolean append)
Returns a stream for writing to this file. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.

write

public void write(java.io.InputStream input,
                  boolean append)
Reads the remaining bytes from the specified stream and writes them to this file. The stream is closed. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.

writer

public java.io.Writer writer(boolean append)
Returns a writer for writing to this file using the default charset. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.

writer

public java.io.Writer writer(boolean append,
                             java.lang.String charset)
Returns a writer for writing to this file. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.
charset - May be null to use the default charset.

writeString

public void writeString(java.lang.String string,
                        boolean append)
Writes the specified string to the file using the default charset. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.

writeString

public void writeString(java.lang.String string,
                        boolean append,
                        java.lang.String charset)
Writes the specified string to the file as UTF-8. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.
charset - May be null to use the default charset.

writeBytes

public void writeBytes(byte[] bytes,
                       boolean append)
Writes the specified bytes to the file. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.

writeBytes

public void writeBytes(byte[] bytes,
                       int offset,
                       int length,
                       boolean append)
Writes the specified bytes to the file. Parent directories will be created if necessary.

Parameters:
append - If false, this file will be overwritten if it exists, otherwise it will be appended.

list

public FileHandle[] list()
Returns the paths to the children of this directory. Returns an empty list if this file handle represents a file and not a directory. On the desktop, an Files.FileType.Internal handle to a directory on the classpath will return a zero length array.


list

public FileHandle[] list(java.lang.String suffix)
Returns the paths to the children of this directory with the specified suffix. Returns an empty list if this file handle represents a file and not a directory. On the desktop, an Files.FileType.Internal handle to a directory on the classpath will return a zero length array.


isDirectory

public boolean isDirectory()
Returns true if this file is a directory. Always returns false for classpath files. On Android, an Files.FileType.Internal handle to an empty directory will return false. On the desktop, an Files.FileType.Internal handle to a directory on the classpath will return false.


child

public FileHandle child(java.lang.String name)
Returns a handle to the child with the specified name.


parent

public FileHandle parent()

mkdirs

public void mkdirs()

exists

public boolean exists()
Returns true if the file exists. On Android, a Files.FileType.Classpath or Files.FileType.Internal handle to a directory will always return false.


delete

public boolean delete()
Deletes this file or empty directory and returns success. Will not delete a directory that has children.


deleteDirectory

public boolean deleteDirectory()
Deletes this file or directory and all children, recursively.


copyTo

public void copyTo(FileHandle dest)
Copies this file or directory to the specified file or directory. If this handle is a file, then 1) if the destination is a file, it is overwritten, or 2) if the destination is a directory, this file is copied into it, or 3) if the destination doesn't exist, mkdirs() is called on the destination's parent and this file is copied into it with a new name. If this handle is a directory, then 1) if the destination is a file, GdxRuntimeException is thrown, or 2) if the destination is a directory, this directory is copied into it recursively, overwriting existing files, or 3) if the destination doesn't exist, mkdirs() is called on the destination and this directory is copied into it recursively.


moveTo

public void moveTo(FileHandle dest)
Moves this file to the specified file, overwriting the file if it already exists.


length

public long length()
Returns the length in bytes of this file, or 0 if this file is a directory, does not exist, or the size cannot otherwise be determined.


lastModified

public long lastModified()
Returns the last modified time in milliseconds for this file. Zero is returned if the file doesn't exist. Zero is returned for Files.FileType.Classpath files. On Android, zero is returned for Files.FileType.Internal files. On the desktop, zero is returned for Files.FileType.Internal files on the classpath.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

tempFile

public static FileHandle tempFile(java.lang.String prefix)

tempDirectory

public static FileHandle tempDirectory(java.lang.String prefix)

libgdx API

Copyright 2010 Mario Zechner (contact@badlogicgames.com), Nathan Sweet (admin@esotericsoftware.com)