File (Tomcat API Documentation)
Keywords: org.apache.tomcat.jni.File class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tomcat.jni
Class File

    java.lang.Object
      org.apache.tomcat.jni.File

    public class File

extends java.lang.Object

File

Version:
  $Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (Tue, 24 Oct 2006) $
Author:
  Mladen Turk

Field Summary
`static int` | `APR_BLK` a block device
`static int` | `APR_CHR` a character device
`static int` | `APR_CUR` Current
`static int` | `APR_DIR` a directory
`static int` | `APR_END` Go to end of file
`static int` | `APR_FILE_ATTR_EXECUTABLE` File is executable
`static int` | `APR_FILE_ATTR_HIDDEN` File is hidden
`static int` | `APR_FILE_ATTR_READONLY` File is read-only
`static int` | `APR_FINFO_ATIME` Creation or inode-changed time
`static int` | `APR_FINFO_CSIZE` Size of the file
`static int` | `APR_FINFO_CTIME` Modification Time
`static int` | `APR_FINFO_DEV` Storage size consumed by the file
`static int` | `APR_FINFO_DIRENT` an atomic unix apr_stat()
`static int` | `APR_FINFO_GPROT` User protection bits
`static int` | `APR_FINFO_GROUP` User
`static int` | `APR_FINFO_ICASE` World protection bits
`static int` | `APR_FINFO_IDENT` type, mtime, ctime, atime, size
`static int` | `APR_FINFO_INODE` Device
`static int` | `APR_FINFO_LINK` use OS's default permissions
`static int` | `APR_FINFO_MIN` ->name in proper case
`static int` | `APR_FINFO_MTIME` Stat the link not the file itself if it is a link
`static int` | `APR_FINFO_NAME` if dev is case insensitive
`static int` | `APR_FINFO_NLINK` Inode
`static int` | `APR_FINFO_NORM` all protections
`static int` | `APR_FINFO_OWNER` dev and inode
`static int` | `APR_FINFO_PROT` user and group
`static int` | `APR_FINFO_SIZE` Access Time
`static int` | `APR_FINFO_TYPE` Number of links
`static int` | `APR_FINFO_UPROT` Group
`static int` | `APR_FINFO_USER` Type
`static int` | `APR_FINFO_WPROT` Group protection bits
`static int` | `APR_FLOCK_EXCLUSIVE` Exclusive lock.
`static int` | `APR_FLOCK_NONBLOCK` do not block while acquiring the file lock
`static int` | `APR_FLOCK_SHARED` Shared lock.
`static int` | `APR_FLOCK_TYPEMASK` mask to extract lock type
`static int` | `APR_FOPEN_APPEND` Append to the end of the file
`static int` | `APR_FOPEN_BINARY` Open the file in binary mode
`static int` | `APR_FOPEN_BUFFERED` Open the file for buffered I/O
`static int` | `APR_FOPEN_CREATE` Create the file if not there
`static int` | `APR_FOPEN_DELONCLOSE` Delete the file after close
`static int` | `APR_FOPEN_EXCL` Open should fail if APR_CREATE and file exists.
`static int` | `APR_FOPEN_LARGEFILE` Platform dependent flag to enable large file support; Warning : The APR_LARGEFILE flag only has effect on some platforms where sizeof(apr_off_t) == 4.
`static int` | `APR_FOPEN_NOCLEANUP` Do not register a cleanup when the file is opened
`static int` | `APR_FOPEN_READ` Open the file for reading
`static int` | `APR_FOPEN_SENDFILE_ENABLED` Advisory flag that this file should support apr_socket_sendfile operation
`static int` | `APR_FOPEN_SHARELOCK` Platform dependent support for higher level locked read/write access to support writes across process/machines
`static int` | `APR_FOPEN_TRUNCATE` Open the file and truncate to 0 length
`static int` | `APR_FOPEN_WRITE` Open the file for writing
`static int` | `APR_FOPEN_XTHREAD` Platform dependent tag to open the file for use across multiple threads
`static int` | `APR_FPROT_GEXECUTE` Write by group
`static int` | `APR_FPROT_GREAD` Set group id
`static int` | `APR_FPROT_GSETID` Execute by user
`static int` | `APR_FPROT_GWRITE` Read by group
`static int` | `APR_FPROT_OS_DEFAULT` Execute by others
`static int` | `APR_FPROT_UEXECUTE` Write by user
`static int` | `APR_FPROT_UREAD` Set user id
`static int` | `APR_FPROT_USETID`
`static int` | `APR_FPROT_UWRITE` Read by user
`static int` | `APR_FPROT_WEXECUTE` Write by others
`static int` | `APR_FPROT_WREAD` Sticky bit
`static int` | `APR_FPROT_WSTICKY` Execute by group
`static int` | `APR_FPROT_WWRITE` Read by others
`static int` | `APR_LNK` a symbolic link
`static int` | `APR_NOFILE` no file type determined
`static int` | `APR_PIPE` a FIFO / pipe
`static int` | `APR_REG` a regular file
`static int` | `APR_SET` Set the file position
`static int` | `APR_SOCK` a [unix domain] socket
`static int` | `APR_UNKFILE` a file of some other unknown type

Constructor Summary
`File()`

Method Summary
`static int` | `append(java.lang.String fromPath, java.lang.String toPath, int perms, long pool)` Append the specified file to another file.
`static int` | `attrsSet(java.lang.String fname, int attributes, int mask, long pool)` Set attributes of the specified file.
`static int` | `close(long file)` Close the specified file.
`static int` | `copy(java.lang.String fromPath, java.lang.String toPath, int perms, long pool)` Copy the specified file to another file.
`static long` | `dup(long newFile, long oldFile, long pool)` Duplicate the specified file descriptor.
`static int` | `dup2(long newFile, long oldFile, long pool)` Duplicate the specified file descriptor and close the original.
`static int` | `eof(long fptr)` Are we at the end of the file
`static int` | `flagsGet(long file)` Retrieve the flags that were passed into apr_file_open() when the file was opened.
`static int` | `flush(long thefile)` Flush the file's buffer.
`static int` | `getc(long thefile)` Read a character from the specified file.
`static int` | `gets(byte[] buf, int offset, long thefile)` Read a string from the specified file.
`static int` | `infoGet(FileInfo finfo, int wanted, long thefile)` Get the specified file's stats.
`static int` | `lock(long thefile, int type)` Establish a lock on the specified, open file.
`static long` | `mktemp(java.lang.String templ, int flags, long pool)` Open a temporary file
`static int` | `mtimeSet(java.lang.String fname, long mtime, long pool)` Set the mtime of the specified file.
`static java.lang.String` | `nameGet(long thefile)` return the file name of the current file.
`static long` | `open(java.lang.String fname, int flag, int perm, long pool)` Open the specified file.
`static int` | `permsSet(java.lang.String fname, int perms)` Set the specified file's permission bits.
`static int` | `pipeCreate(long[] io, long pool)` Create an anonymous pipe.
`static long` | `pipeTimeoutGet(long thepipe)` Get the timeout value for a pipe or manipulate the blocking state.
`static int` | `pipeTimeoutSet(long thepipe, long timeout)` Set the timeout value for a pipe or manipulate the blocking state.
`static int` | `putc(byte ch, long thefile)` Write a character into the specified file.
`static int` | `puts(byte[] str, long thefile)` Write the string into the specified file.
`static int` | `read(long thefile, byte[] buf, int offset, int nbytes)` Read data from the specified file.
`static int` | `readb(long thefile, java.nio.ByteBuffer buf, int offset, int nbytes)` Read data from the specified file.
`static int` | `readFull(long thefile, byte[] buf, int offset, int nbytes)` Read data from the specified file, ensuring that the buffer is filled before returning.
`static int` | `readFullb(long thefile, java.nio.ByteBuffer buf, int offset, int nbytes)` Read data from the specified file, ensuring that the buffer is filled before returning.
`static int` | `remove(java.lang.String path, long pool)` Delete the specified file.
`static int` | `rename(java.lang.String fromPath, java.lang.String toPath, long pool)` Rename the specified file.
`static long` | `seek(long thefile, int where, long offset)` Move the read/write file offset to a specified byte within a file.
`static int` | `stat(FileInfo finfo, java.lang.String fname, int wanted, long pool)` Get the specified file's stats.
`static int` | `trunc(long fp, long offset)` Truncate the file's length to the specified offset
`static int` | `ungetc(byte ch, long thefile)` Put a character back onto a specified stream.
`static int` | `unlock(long thefile)` Remove any outstanding locks on the file.
`static int` | `write(long thefile, byte[] buf, int offset, int nbytes)` Write data to the specified file.
`static int` | `writeb(long thefile, java.nio.ByteBuffer buf, int offset, int nbytes)` Write data to the specified file.
`static int` | `writeFull(long thefile, byte[] buf, int offset, int nbytes)` Write data to the specified file, ensuring that all of the data is written before returning.
`static int` | `writeFullb(long thefile, java.nio.ByteBuffer buf, int offset, int nbytes)` Write data to the specified file, ensuring that all of the data is written before returning.
`static int` | `writev(long thefile, byte[][] vec)` Write data from aray of byte arrays to the specified file.
`static int` | `writevFull(long thefile, byte[][] vec)` Write data from aray of byte arrays to the specified file, ensuring that all of the data is written before returning.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### APR_FOPEN_READ

    public static final int APR_FOPEN_READ

  Open the file for reading

  See Also:
    Constant Field Values

### APR_FOPEN_WRITE

    public static final int APR_FOPEN_WRITE

  Open the file for writing

  See Also:
    Constant Field Values

### APR_FOPEN_CREATE

    public static final int APR_FOPEN_CREATE

  Create the file if not there

  See Also:
    Constant Field Values

### APR_FOPEN_APPEND

    public static final int APR_FOPEN_APPEND

  Append to the end of the file

  See Also:
    Constant Field Values

### APR_FOPEN_TRUNCATE

    public static final int APR_FOPEN_TRUNCATE

  Open the file and truncate to 0 length

  See Also:
    Constant Field Values

### APR_FOPEN_BINARY

    public static final int APR_FOPEN_BINARY

  Open the file in binary mode

  See Also:
    Constant Field Values

### APR_FOPEN_EXCL

    public static final int APR_FOPEN_EXCL

  Open should fail if APR_CREATE and file exists.

  See Also:
    Constant Field Values

### APR_FOPEN_BUFFERED

    public static final int APR_FOPEN_BUFFERED

  Open the file for buffered I/O

  See Also:
    Constant Field Values

### APR_FOPEN_DELONCLOSE

    public static final int APR_FOPEN_DELONCLOSE

  Delete the file after close

  See Also:
    Constant Field Values

### APR_FOPEN_XTHREAD

    public static final int APR_FOPEN_XTHREAD

  Platform dependent tag to open the file for use across multiple threads

  See Also:
    Constant Field Values

### APR_FOPEN_SHARELOCK

    public static final int APR_FOPEN_SHARELOCK

  Platform dependent support for higher level locked read/write access to support writes across process/machines

  See Also:
    Constant Field Values

### APR_FOPEN_NOCLEANUP

    public static final int APR_FOPEN_NOCLEANUP

  Do not register a cleanup when the file is opened

  See Also:
    Constant Field Values

### APR_FOPEN_SENDFILE_ENABLED

    public static final int APR_FOPEN_SENDFILE_ENABLED

  Advisory flag that this file should support apr_socket_sendfile operation

  See Also:
    Constant Field Values

### APR_FOPEN_LARGEFILE

    public static final int APR_FOPEN_LARGEFILE

  Platform dependent flag to enable large file support;
  Warning : The APR_LARGEFILE flag only has effect on some platforms where sizeof(apr_off_t) == 4. Where implemented, it allows opening and writing to a file which exceeds the size which can be represented by apr_off_t (2 gigabytes). When a file's size does exceed 2Gb, apr_file_info_get() will fail with an error on the descriptor, likewise apr_stat()/apr_lstat() will fail on the filename. apr_dir_read() will fail with APR_INCOMPLETE on a directory entry for a large file depending on the particular APR_FINFO_* flags. Generally, it is not recommended to use this flag.

  See Also:
    Constant Field Values

### APR_SET

    public static final int APR_SET

  Set the file position

  See Also:
    Constant Field Values

### APR_CUR

    public static final int APR_CUR

  Current

  See Also:
    Constant Field Values

### APR_END

    public static final int APR_END

  Go to end of file

  See Also:
    Constant Field Values

### APR_FILE_ATTR_READONLY

    public static final int APR_FILE_ATTR_READONLY

  File is read-only

  See Also:
    Constant Field Values

### APR_FILE_ATTR_EXECUTABLE

    public static final int APR_FILE_ATTR_EXECUTABLE

  File is executable

  See Also:
    Constant Field Values

### APR_FILE_ATTR_HIDDEN

    public static final int APR_FILE_ATTR_HIDDEN

  File is hidden

  See Also:
    Constant Field Values

### APR_FLOCK_SHARED

    public static final int APR_FLOCK_SHARED

  Shared lock. More than one process or thread can hold a shared lock at any given time. Essentially, this is a "read lock", preventing writers from establishing an exclusive lock.

  See Also:
    Constant Field Values

### APR_FLOCK_EXCLUSIVE

    public static final int APR_FLOCK_EXCLUSIVE

  Exclusive lock. Only one process may hold an exclusive lock at any given time. This is analogous to a "write lock".

  See Also:
    Constant Field Values

### APR_FLOCK_TYPEMASK

    public static final int APR_FLOCK_TYPEMASK

  mask to extract lock type

  See Also:
    Constant Field Values

### APR_FLOCK_NONBLOCK

    public static final int APR_FLOCK_NONBLOCK

  do not block while acquiring the file lock

  See Also:
    Constant Field Values

### APR_NOFILE

    public static final int APR_NOFILE

  no file type determined

  See Also:
    Constant Field Values

### APR_REG

    public static final int APR_REG

  a regular file

  See Also:
    Constant Field Values

### APR_DIR

    public static final int APR_DIR

  a directory

  See Also:
    Constant Field Values

### APR_CHR

    public static final int APR_CHR

  a character device

  See Also:
    Constant Field Values

### APR_BLK

    public static final int APR_BLK

  a block device

  See Also:
    Constant Field Values

### APR_PIPE

    public static final int APR_PIPE

  a FIFO / pipe

  See Also:
    Constant Field Values

### APR_LNK

    public static final int APR_LNK

  a symbolic link

  See Also:
    Constant Field Values

### APR_SOCK

    public static final int APR_SOCK

  a [unix domain] socket

  See Also:
    Constant Field Values

### APR_UNKFILE

    public static final int APR_UNKFILE

  a file of some other unknown type

  See Also:
    Constant Field Values

### APR_FPROT_USETID

    public static final int APR_FPROT_USETID

See Also:
  Constant Field Values

### APR_FPROT_UREAD

    public static final int APR_FPROT_UREAD

  Set user id

  See Also:
    Constant Field Values

### APR_FPROT_UWRITE

    public static final int APR_FPROT_UWRITE

  Read by user

  See Also:
    Constant Field Values

### APR_FPROT_UEXECUTE

    public static final int APR_FPROT_UEXECUTE

  Write by user

  See Also:
    Constant Field Values

### APR_FPROT_GSETID

    public static final int APR_FPROT_GSETID

  Execute by user

  See Also:
    Constant Field Values

### APR_FPROT_GREAD

    public static final int APR_FPROT_GREAD

  Set group id

  See Also:
    Constant Field Values

### APR_FPROT_GWRITE

    public static final int APR_FPROT_GWRITE

  Read by group

  See Also:
    Constant Field Values

### APR_FPROT_GEXECUTE

    public static final int APR_FPROT_GEXECUTE

  Write by group

  See Also:
    Constant Field Values

### APR_FPROT_WSTICKY

    public static final int APR_FPROT_WSTICKY

  Execute by group

  See Also:
    Constant Field Values

### APR_FPROT_WREAD

    public static final int APR_FPROT_WREAD

  Sticky bit

  See Also:
    Constant Field Values

### APR_FPROT_WWRITE

    public static final int APR_FPROT_WWRITE

  Read by others

  See Also:
    Constant Field Values

### APR_FPROT_WEXECUTE

    public static final int APR_FPROT_WEXECUTE

  Write by others

  See Also:
    Constant Field Values

### APR_FPROT_OS_DEFAULT

    public static final int APR_FPROT_OS_DEFAULT

  Execute by others

  See Also:
    Constant Field Values

### APR_FINFO_LINK

    public static final int APR_FINFO_LINK

  use OS's default permissions

  See Also:
    Constant Field Values

### APR_FINFO_MTIME

    public static final int APR_FINFO_MTIME

  Stat the link not the file itself if it is a link

  See Also:
    Constant Field Values

### APR_FINFO_CTIME

    public static final int APR_FINFO_CTIME

  Modification Time

  See Also:
    Constant Field Values

### APR_FINFO_ATIME

    public static final int APR_FINFO_ATIME

  Creation or inode-changed time

  See Also:
    Constant Field Values

### APR_FINFO_SIZE

    public static final int APR_FINFO_SIZE

  Access Time

  See Also:
    Constant Field Values

### APR_FINFO_CSIZE

    public static final int APR_FINFO_CSIZE

  Size of the file

  See Also:
    Constant Field Values

### APR_FINFO_DEV

    public static final int APR_FINFO_DEV

  Storage size consumed by the file

  See Also:
    Constant Field Values

### APR_FINFO_INODE

    public static final int APR_FINFO_INODE

  Device

  See Also:
    Constant Field Values

### APR_FINFO_NLINK

    public static final int APR_FINFO_NLINK

  Inode

  See Also:
    Constant Field Values

### APR_FINFO_TYPE

    public static final int APR_FINFO_TYPE

  Number of links

  See Also:
    Constant Field Values

### APR_FINFO_USER

    public static final int APR_FINFO_USER

  Type

  See Also:
    Constant Field Values

### APR_FINFO_GROUP

    public static final int APR_FINFO_GROUP

  User

  See Also:
    Constant Field Values

### APR_FINFO_UPROT

    public static final int APR_FINFO_UPROT

  Group

  See Also:
    Constant Field Values

### APR_FINFO_GPROT

    public static final int APR_FINFO_GPROT

  User protection bits

  See Also:
    Constant Field Values

### APR_FINFO_WPROT

    public static final int APR_FINFO_WPROT

  Group protection bits

  See Also:
    Constant Field Values

### APR_FINFO_ICASE

    public static final int APR_FINFO_ICASE

  World protection bits

  See Also:
    Constant Field Values

### APR_FINFO_NAME

    public static final int APR_FINFO_NAME

  if dev is case insensitive

  See Also:
    Constant Field Values

### APR_FINFO_MIN

    public static final int APR_FINFO_MIN

  ->name in proper case

  See Also:
    Constant Field Values

### APR_FINFO_IDENT

    public static final int APR_FINFO_IDENT

  type, mtime, ctime, atime, size

  See Also:
    Constant Field Values

### APR_FINFO_OWNER

    public static final int APR_FINFO_OWNER

  dev and inode

  See Also:
    Constant Field Values

### APR_FINFO_PROT

    public static final int APR_FINFO_PROT

  user and group

  See Also:
    Constant Field Values

### APR_FINFO_NORM

    public static final int APR_FINFO_NORM

  all protections

  See Also:
    Constant Field Values

### APR_FINFO_DIRENT

    public static final int APR_FINFO_DIRENT

  an atomic unix apr_stat()

  See Also:
    Constant Field Values

Constructor Detail

### File

    public File()

Method Detail

### open

    public static long open(java.lang.String fname,
                            int flag,
                            int perm,
                            long pool)
                     throws Error

  Open the specified file.

  Parameters:
    `fname` - The full path to the file (using / on all systems)
    `flag` - Or'ed value of:

         APR_FOPEN_READ              open for reading
         APR_FOPEN_WRITE             open for writing
         APR_FOPEN_CREATE            create the file if not there
         APR_FOPEN_APPEND            file ptr is set to end prior to all writes
         APR_FOPEN_TRUNCATE          set length to zero if file exists
         APR_FOPEN_BINARY            not a text file (This flag is ignored on
                                     UNIX because it has no meaning)
         APR_FOPEN_BUFFERED          buffer the data.  Default is non-buffered
         APR_FOPEN_EXCL              return error if APR_CREATE and file exists
         APR_FOPEN_DELONCLOSE        delete the file after closing.
         APR_FOPEN_XTHREAD           Platform dependent tag to open the file
                                     for use across multiple threads
         APR_FOPEN_SHARELOCK         Platform dependent support for higher
                                     level locked read/write access to support
                                     writes across process/machines
         APR_FOPEN_NOCLEANUP         Do not register a cleanup with the pool
                                     passed in on the pool argument (see below).
                                     The apr_os_file_t handle in apr_file_t will not
                                     be closed when the pool is destroyed.
         APR_FOPEN_SENDFILE_ENABLED  Open with appropriate platform semantics
                                     for sendfile operations.  Advisory only,
                                     apr_socket_sendfile does not check this flag.

    `perm` - Access permissions for file.
    `pool` - The pool to use. If perm is APR_OS_DEFAULT and the file is being created, appropriate default permissions will be used.
  Returns:
    The opened file descriptor.
  Throws:
    `Error`

### close

    public static int close(long file)

  Close the specified file.

  Parameters:
    `file` - The file descriptor to close.

### flush

    public static int flush(long thefile)

  Flush the file's buffer.

  Parameters:
    `thefile` - The file descriptor to flush

### mktemp

    public static long mktemp(java.lang.String templ,
                              int flags,
                              long pool)
                       throws Error

  Open a temporary file

  Parameters:
    `templ` - The template to use when creating a temp file.
    `flags` - The flags to open the file with. If this is zero, the file is opened with APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_DELONCLOSE
    `pool` - The pool to allocate the file out of.
  Returns:
    The apr file to use as a temporary file. This function generates a unique temporary file name from template. The last six characters of template must be XXXXXX and these are replaced with a string that makes the filename unique. Since it will be modified, template must not be a string constant, but should be declared as a character array.
  Throws:
    `Error`

### remove

    public static int remove(java.lang.String path,
                             long pool)

  Delete the specified file.

  Parameters:
    `path` - The full path to the file (using / on all systems)
    `pool` - The pool to use. If the file is open, it won't be removed until all instances are closed.

### rename

    public static int rename(java.lang.String fromPath,
                             java.lang.String toPath,
                             long pool)

  Rename the specified file.
  Warning : If a file exists at the new location, then it will be overwritten. Moving files or directories across devices may not be possible.

  Parameters:
    `fromPath` - The full path to the original file (using / on all systems)
    `toPath` - The full path to the new file (using / on all systems)
    `pool` - The pool to use.

### copy

    public static int copy(java.lang.String fromPath,
                           java.lang.String toPath,
                           int perms,
                           long pool)

  Copy the specified file to another file. The new file does not need to exist, it will be created if required.
  Warning : If the new file already exists, its contents will be overwritten.

  Parameters:
    `fromPath` - The full path to the original file (using / on all systems)
    `toPath` - The full path to the new file (using / on all systems)
    `perms` - Access permissions for the new file if it is created. In place of the usual or'd combination of file permissions, the value APR_FILE_SOURCE_PERMS may be given, in which case the source file's permissions are copied.
    `pool` - The pool to use.

### append

    public static int append(java.lang.String fromPath,
                             java.lang.String toPath,
                             int perms,
                             long pool)

  Append the specified file to another file. The new file does not need to exist, it will be created if required.

  Parameters:
    `fromPath` - The full path to the source file (use / on all systems)
    `toPath` - The full path to the destination file (use / on all systems)
    `perms` - Access permissions for the destination file if it is created. In place of the usual or'd combination of file permissions, the value APR_FILE_SOURCE_PERMS may be given, in which case the source file's permissions are copied.
    `pool` - The pool to use.

### puts

    public static int puts(byte[] str,
                           long thefile)

  Write the string into the specified file.

  Parameters:
    `str` - The string to write. Must be NUL terminated!
    `thefile` - The file descriptor to write to

### seek

    public static long seek(long thefile,
                            int where,
                            long offset)
                     throws Error

  Move the read/write file offset to a specified byte within a file.

  Parameters:
    `thefile` - The file descriptor
    `where` - How to move the pointer, one of:

         APR_SET  --  set the offset to offset
         APR_CUR  --  add the offset to the current position
         APR_END  --  add the offset to the current file size

    `offset` - The offset to move the pointer to.
  Returns:
    Offset the pointer was actually moved to.
  Throws:
    `Error`

### putc

    public static int putc(byte ch,
                           long thefile)

  Write a character into the specified file.

  Parameters:
    `ch` - The character to write.
    `thefile` - The file descriptor to write to

### ungetc

    public static int ungetc(byte ch,
                             long thefile)

  Put a character back onto a specified stream.

  Parameters:
    `ch` - The character to write.
    `thefile` - The file descriptor to write to

### write

    public static int write(long thefile,
                            byte[] buf,
                            int offset,
                            int nbytes)

  Write data to the specified file. Write will write up to the specified number of bytes, but never more. If the OS cannot write that many bytes, it will write as many as it can. The third argument is modified to reflect the * number of bytes written. It is possible for both bytes to be written and an error to be returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to write to.
    `buf` - The buffer which contains the data.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to write; (-1) for full array.
  Returns:
    The number of bytes written.

### writeb

    public static int writeb(long thefile,
                             java.nio.ByteBuffer buf,
                             int offset,
                             int nbytes)

  Write data to the specified file. Write will write up to the specified number of bytes, but never more. If the OS cannot write that many bytes, it will write as many as it can. The third argument is modified to reflect the * number of bytes written. It is possible for both bytes to be written and an error to be returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to write to.
    `buf` - The direct Byte buffer which contains the data.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to write
  Returns:
    The number of bytes written.

### writeFull

    public static int writeFull(long thefile,
                                byte[] buf,
                                int offset,
                                int nbytes)

  Write data to the specified file, ensuring that all of the data is written before returning. Write will write up to the specified number of bytes, but never more. If the OS cannot write that many bytes, the process/thread will block until they can be written. Exceptional error such as "out of space" or "pipe closed" will terminate with an error. It is possible for both bytes to be written and an error to be returned. And if *bytes_written is less than nbytes, an accompanying error is _always_ returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to write to.
    `buf` - The buffer which contains the data.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to write; (-1) for full array.
  Returns:
    The number of bytes written.

### writeFullb

    public static int writeFullb(long thefile,
                                 java.nio.ByteBuffer buf,
                                 int offset,
                                 int nbytes)

  Write data to the specified file, ensuring that all of the data is written before returning. Write will write up to the specified number of bytes, but never more. If the OS cannot write that many bytes, the process/thread will block until they can be written. Exceptional error such as "out of space" or "pipe closed" will terminate with an error. It is possible for both bytes to be written and an error to be returned. And if *bytes_written is less than nbytes, an accompanying error is _always_ returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to write to.
    `buf` - The direct ByteBuffer which contains the data.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to write.
  Returns:
    The number of bytes written.

### writev

    public static int writev(long thefile,
                             byte[][] vec)

  Write data from aray of byte arrays to the specified file. It is possible for both bytes to be written and an error to be returned. APR_EINTR is never returned. apr_file_writev is available even if the underlying operating system doesn't provide writev().

  Parameters:
    `thefile` - The file descriptor to write to.
    `vec` - The array from which to get the data to write to the file.
  Returns:
    The number of bytes written.

### writevFull

    public static int writevFull(long thefile,
                                 byte[][] vec)

  Write data from aray of byte arrays to the specified file, ensuring that all of the data is written before returning. writevFull is available even if the underlying operating system doesn't provide writev().

  Parameters:
    `thefile` - The file descriptor to write to.
    `vec` - The array from which to get the data to write to the file.
  Returns:
    The number of bytes written.

### read

    public static int read(long thefile,
                           byte[] buf,
                           int offset,
                           int nbytes)

  Read data from the specified file. apr_file_read will read up to the specified number of bytes, but never more. If there isn't enough data to fill that number of bytes, all of the available data is read. The third argument is modified to reflect the number of bytes read. If a char was put back into the stream via ungetc, it will be the first character returned. It is not possible for both bytes to be read and an APR_EOF or other error to be returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to read from.
    `buf` - The buffer to store the data to.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to read (-1) for full array.
  Returns:
    the number of bytes read.

### readb

    public static int readb(long thefile,
                            java.nio.ByteBuffer buf,
                            int offset,
                            int nbytes)

  Read data from the specified file. apr_file_read will read up to the specified number of bytes, but never more. If there isn't enough data to fill that number of bytes, all of the available data is read. The third argument is modified to reflect the number of bytes read. If a char was put back into the stream via ungetc, it will be the first character returned. It is not possible for both bytes to be read and an APR_EOF or other error to be returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to read from.
    `buf` - The direct Byte buffer to store the data to.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to read.
  Returns:
    the number of bytes read.

### readFull

    public static int readFull(long thefile,
                               byte[] buf,
                               int offset,
                               int nbytes)

  Read data from the specified file, ensuring that the buffer is filled before returning. Read will read up to the specified number of bytes, but never more. If there isn't enough data to fill that number of bytes, then the process/thread will block until it is available or EOF is reached. If a char was put back into the stream via ungetc, it will be the first character returned. It is possible for both bytes to be read and an error to be returned. And if *bytes_read is less than nbytes, an accompanying error is _always_ returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to read from.
    `buf` - The buffer to store the data to.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to read (-1) for full array.
  Returns:
    the number of bytes read.

### readFullb

    public static int readFullb(long thefile,
                                java.nio.ByteBuffer buf,
                                int offset,
                                int nbytes)

  Read data from the specified file, ensuring that the buffer is filled before returning. Read will read up to the specified number of bytes, but never more. If there isn't enough data to fill that number of bytes, then the process/thread will block until it is available or EOF is reached. If a char was put back into the stream via ungetc, it will be the first character returned. It is possible for both bytes to be read and an error to be returned. And if *bytes_read is less than nbytes, an accompanying error is _always_ returned. APR_EINTR is never returned.

  Parameters:
    `thefile` - The file descriptor to read from.
    `buf` - The direct ByteBuffer to store the data to.
    `offset` - Start offset in buf
    `nbytes` - The number of bytes to read.
  Returns:
    the number of bytes read.

### gets

    public static int gets(byte[] buf,
                           int offset,
                           long thefile)

  Read a string from the specified file. The buffer will be NUL-terminated if any characters are stored.

  Parameters:
    `buf` - The buffer to store the string in.
    `offset` - Start offset in buf
    `thefile` - The file descriptor to read from

### getc

    public static int getc(long thefile)
                    throws Error

  Read a character from the specified file.

  Parameters:
    `thefile` - The file descriptor to read from
  Returns:
    The readed character
  Throws:
    `Error`

### eof

    public static int eof(long fptr)

  Are we at the end of the file

  Parameters:
    `fptr` - The apr file we are testing.
  Returns:
    Returns APR_EOF if we are at the end of file, APR_SUCCESS otherwise.

### nameGet

    public static java.lang.String nameGet(long thefile)

  return the file name of the current file.

  Parameters:
    `thefile` - The currently open file.

### permsSet

    public static int permsSet(java.lang.String fname,
                               int perms)

  Set the specified file's permission bits.
  Warning : Some platforms may not be able to apply all of the available permission bits; APR_INCOMPLETE will be returned if some permissions are specified which could not be set.
  Warning : Platforms which do not implement this feature will return APR_ENOTIMPL.

  Parameters:
    `fname` - The file (name) to apply the permissions to.
    `perms` - The permission bits to apply to the file.

### attrsSet

    public static int attrsSet(java.lang.String fname,
                               int attributes,
                               int mask,
                               long pool)

  Set attributes of the specified file. This function should be used in preference to explict manipulation of the file permissions, because the operations to provide these attributes are platform specific and may involve more than simply setting permission bits.
  Warning : Platforms which do not implement this feature will return APR_ENOTIMPL.

  Parameters:
    `fname` - The full path to the file (using / on all systems)
    `attributes` - Or'd combination of

                    APR_FILE_ATTR_READONLY   - make the file readonly
                    APR_FILE_ATTR_EXECUTABLE - make the file executable
                    APR_FILE_ATTR_HIDDEN     - make the file hidden

    `mask` - Mask of valid bits in attributes.
    `pool` - the pool to use.

### mtimeSet

    public static int mtimeSet(java.lang.String fname,
                               long mtime,
                               long pool)

  Set the mtime of the specified file.
  Warning : Platforms which do not implement this feature will return APR_ENOTIMPL.

  Parameters:
    `fname` - The full path to the file (using / on all systems)
    `mtime` - The mtime to apply to the file in microseconds
    `pool` - The pool to use.

### lock

    public static int lock(long thefile,
                           int type)

  Establish a lock on the specified, open file. The lock may be advisory or mandatory, at the discretion of the platform. The lock applies to the file as a whole, rather than a specific range. Locks are established on a per-thread/process basis; a second lock by the same thread will not block.

  Parameters:
    `thefile` - The file to lock.
    `type` - The type of lock to establish on the file.

### unlock

    public static int unlock(long thefile)

  Remove any outstanding locks on the file.

  Parameters:
    `thefile` - The file to unlock.

### flagsGet

    public static int flagsGet(long file)

  Retrieve the flags that were passed into apr_file_open() when the file was opened.

  Parameters:
    `file` - The file to retrive flags.
  Returns:
    the flags

### trunc

    public static int trunc(long fp,
                            long offset)

  Truncate the file's length to the specified offset

  Parameters:
    `fp` - The file to truncate
    `offset` - The offset to truncate to.

### pipeCreate

    public static int pipeCreate(long[] io,
                                 long pool)

  Create an anonymous pipe.

  Parameters:
    `io` - io[0] The file descriptors to use as input to the pipe. io[1] The file descriptor to use as output from the pipe.
    `pool` - The pool to operate on.

### pipeTimeoutGet

    public static long pipeTimeoutGet(long thepipe)
                               throws Error

  Get the timeout value for a pipe or manipulate the blocking state.

  Parameters:
    `thepipe` - The pipe we are getting a timeout for.
  Returns:
    The current timeout value in microseconds.
  Throws:
    `Error`

### pipeTimeoutSet

    public static int pipeTimeoutSet(long thepipe,
                                     long timeout)

  Set the timeout value for a pipe or manipulate the blocking state.

  Parameters:
    `thepipe` - The pipe we are setting a timeout on.
    `timeout` - The timeout value in microseconds. Values < 0 mean wait forever, 0 means do not wait at all.

### dup

    public static long dup(long newFile,
                           long oldFile,
                           long pool)
                    throws Error

  Duplicate the specified file descriptor.

  Parameters:
    `newFile` - The file to duplicate. newFile must point to a valid apr_file_t, or point to NULL.
    `oldFile` - The file to duplicate.
    `pool` - The pool to use for the new file.
  Returns:
    Duplicated file structure.
  Throws:
    `Error`

### dup2

    public static int dup2(long newFile,
                           long oldFile,
                           long pool)

  Duplicate the specified file descriptor and close the original.

  Parameters:
    `newFile` - The old file that is to be closed and reused. newFile MUST point at a valid apr_file_t. It cannot be NULL.
    `oldFile` - The file to duplicate.
    `pool` - The pool to use for the new file.
  Returns:
    Status code.

### stat

    public static int stat(FileInfo finfo,
                           java.lang.String fname,
                           int wanted,
                           long pool)

  Get the specified file's stats. The file is specified by filename, instead of using a pre-opened file.

  Parameters:
    `finfo` - Where to store the information about the file, which is never touched if the call fails.
    `fname` - The name of the file to stat.
    `wanted` - The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
    `pool` - the pool to use to allocate the new file.

### infoGet

    public static int infoGet(FileInfo finfo,
                              int wanted,
                              long thefile)

  Get the specified file's stats.

  Parameters:
    `finfo` - Where to store the information about the file.
    `wanted` - The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
    `thefile` - The file to get information about.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.