org.terrier.utility.io
Class LocalFileSystem

java.lang.Object
  extended by org.terrier.utility.io.LocalFileSystem
All Implemented Interfaces:
Files.FSCapability, FileSystem

public class LocalFileSystem
extends java.lang.Object
implements FileSystem, Files.FSCapability

This is a Terrier File Abstraction Layer implementation of the local file system. The file system implementation for the "file:" scheme can handle all file system capabilities (READ,WRITE,RANDOM_READ,RANDOM_WRITE,LS_DIR and STAT). Generally speaking, this is a lightweight wrapper around the following four Java SE classes: java.io.File and java.io.FileInputStream and java.io.FileOutputStream, java.io.RandomAccessFile.

On Windows, this FileSystem also advertises support for all the single-letter file systems, eg A:, C:, D:

Since:
2.1
Author:
Craig Macdonald

Nested Class Summary
protected static class LocalFileSystem.LocalRandomAccessFile
           
 
Field Summary
 
Fields inherited from interface org.terrier.utility.Files.FSCapability
DEL_ON_EXIT, LS_DIR, RANDOM_READ, RANDOM_WRITE, READ, STAT, WRITE
 
Constructor Summary
LocalFileSystem()
           
 
Method Summary
 boolean canRead(java.lang.String filename)
          returns true if filename can be read
 boolean canWrite(java.lang.String filename)
          returns true if filename can be written to
 byte capabilities()
          Get the capabilities of the file system
 boolean delete(java.lang.String filename)
          Delete a file
 boolean deleteOnExit(java.lang.String pathname)
          Delete the file on program exit
 boolean exists(java.lang.String filename)
          Does the file exist?
 java.lang.String getParent(java.lang.String path)
          whats the parent path to this path - eg directory containing a file
 boolean isDirectory(java.lang.String path)
          Does the path point to a directory
 long length(java.lang.String filename)
          What is the length of the file?
 java.lang.String[] list(java.lang.String path)
          list contents of a directory etc
 boolean mkdir(java.lang.String filename)
          Make a directory
 java.lang.String name()
          Get the name of the file system
protected  java.lang.String normalise(java.lang.String filename)
           
 RandomDataInput openFileRandom(java.lang.String filename)
          Opens an input random access file
 java.io.InputStream openFileStream(java.lang.String filename)
          Opens an input file
 boolean rename(java.lang.String source, java.lang.String destination)
          rename a file/dir to another name, on the same file system
 java.lang.String[] schemes()
          Get the schemes
 RandomDataOutput writeFileRandom(java.lang.String filename)
          Opens a writable random access file
 java.io.OutputStream writeFileStream(java.lang.String filename)
          Opens an output file
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LocalFileSystem

public LocalFileSystem()
Method Detail

normalise

protected java.lang.String normalise(java.lang.String filename)

name

public java.lang.String name()
Get the name of the file system

Specified by:
name in interface FileSystem

capabilities

public byte capabilities()
Get the capabilities of the file system

Specified by:
capabilities in interface FileSystem

schemes

public java.lang.String[] schemes()
Get the schemes

Specified by:
schemes in interface FileSystem

exists

public boolean exists(java.lang.String filename)
Does the file exist?

Specified by:
exists in interface FileSystem

canRead

public boolean canRead(java.lang.String filename)
returns true if filename can be read

Specified by:
canRead in interface FileSystem

canWrite

public boolean canWrite(java.lang.String filename)
returns true if filename can be written to

Specified by:
canWrite in interface FileSystem

openFileStream

public java.io.InputStream openFileStream(java.lang.String filename)
                                   throws java.io.IOException
Opens an input file

Specified by:
openFileStream in interface FileSystem
Throws:
java.io.IOException

writeFileStream

public java.io.OutputStream writeFileStream(java.lang.String filename)
                                     throws java.io.IOException
Opens an output file

Specified by:
writeFileStream in interface FileSystem
Throws:
java.io.IOException

openFileRandom

public RandomDataInput openFileRandom(java.lang.String filename)
                               throws java.io.IOException
Opens an input random access file

Specified by:
openFileRandom in interface FileSystem
Throws:
java.io.IOException

writeFileRandom

public RandomDataOutput writeFileRandom(java.lang.String filename)
                                 throws java.io.IOException
Opens a writable random access file

Specified by:
writeFileRandom in interface FileSystem
Throws:
java.io.IOException

delete

public boolean delete(java.lang.String filename)
Delete a file

Specified by:
delete in interface FileSystem

deleteOnExit

public boolean deleteOnExit(java.lang.String pathname)
                     throws java.io.IOException
Delete the file on program exit

Specified by:
deleteOnExit in interface FileSystem
Throws:
java.io.IOException

mkdir

public boolean mkdir(java.lang.String filename)
Make a directory

Specified by:
mkdir in interface FileSystem

isDirectory

public boolean isDirectory(java.lang.String path)
Does the path point to a directory

Specified by:
isDirectory in interface FileSystem

length

public long length(java.lang.String filename)
What is the length of the file?

Specified by:
length in interface FileSystem

rename

public boolean rename(java.lang.String source,
                      java.lang.String destination)
               throws java.io.IOException
rename a file/dir to another name, on the same file system

Specified by:
rename in interface FileSystem
Throws:
java.io.IOException

getParent

public java.lang.String getParent(java.lang.String path)
                           throws java.io.IOException
whats the parent path to this path - eg directory containing a file

Specified by:
getParent in interface FileSystem
Throws:
java.io.IOException

list

public java.lang.String[] list(java.lang.String path)
                        throws java.io.IOException
list contents of a directory etc

Specified by:
list in interface FileSystem
Throws:
java.io.IOException


Terrier 3.5. Copyright © 2004-2011 University of Glasgow