# Class File

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

@Deprecated public class File extends Object
Deprecated.
The scope of the APR/Native Library will be reduced in Tomcat 9.1.x / Tomcat Native 2.x and has been reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
File

Author:
  Mladen Turk

- ## Field Summary

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `File()`
  Deprecated.

- ## Method Summary

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

  - ### APR_FOPEN_READ

    public static final int APR_FOPEN_READ
    Deprecated.
    Open the file for reading
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_WRITE

    public static final int APR_FOPEN_WRITE
    Deprecated.
    Open the file for writing
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_CREATE

    public static final int APR_FOPEN_CREATE
    Deprecated.
    Create the file if not there
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_APPEND

    public static final int APR_FOPEN_APPEND
    Deprecated.
    Append to the end of the file
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_TRUNCATE

    public static final int APR_FOPEN_TRUNCATE
    Deprecated.
    Open the file and truncate to 0 length
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_BINARY

    public static final int APR_FOPEN_BINARY
    Deprecated.
    Open the file in binary mode
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_EXCL

    public static final int APR_FOPEN_EXCL
    Deprecated.
    Open should fail if APR_CREATE and file exists.
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_BUFFERED

    public static final int APR_FOPEN_BUFFERED
    Deprecated.
    Open the file for buffered I/O
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_DELONCLOSE

    public static final int APR_FOPEN_DELONCLOSE
    Deprecated.
    Delete the file after close
    See Also:
      - Constant Field Values

  - ### APR_FOPEN_XTHREAD

    public static final int APR_FOPEN_XTHREAD
    Deprecated.
    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
    Deprecated.
    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
    Deprecated.
    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
    Deprecated.
    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
    Deprecated.
    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
    Deprecated.
    Set the file position
    See Also:
      - Constant Field Values

  - ### APR_CUR

    public static final int APR_CUR
    Deprecated.
    Current
    See Also:
      - Constant Field Values

  - ### APR_END

    public static final int APR_END
    Deprecated.
    Go to end of file
    See Also:
      - Constant Field Values

  - ### APR_FILE_ATTR_READONLY

    public static final int APR_FILE_ATTR_READONLY
    Deprecated.
    File is read-only
    See Also:
      - Constant Field Values

  - ### APR_FILE_ATTR_EXECUTABLE

    public static final int APR_FILE_ATTR_EXECUTABLE
    Deprecated.
    File is executable
    See Also:
      - Constant Field Values

  - ### APR_FILE_ATTR_HIDDEN

    public static final int APR_FILE_ATTR_HIDDEN
    Deprecated.
    File is hidden
    See Also:
      - Constant Field Values

  - ### APR_FLOCK_SHARED

    public static final int APR_FLOCK_SHARED
    Deprecated.
    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
    Deprecated.
    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
    Deprecated.
    mask to extract lock type
    See Also:
      - Constant Field Values

  - ### APR_FLOCK_NONBLOCK

    public static final int APR_FLOCK_NONBLOCK
    Deprecated.
    do not block while acquiring the file lock
    See Also:
      - Constant Field Values

  - ### APR_NOFILE

    public static final int APR_NOFILE
    Deprecated.
    no file type determined
    See Also:
      - Constant Field Values

  - ### APR_REG

    public static final int APR_REG
    Deprecated.
    a regular file
    See Also:
      - Constant Field Values

  - ### APR_DIR

    public static final int APR_DIR
    Deprecated.
    a directory
    See Also:
      - Constant Field Values

  - ### APR_CHR

    public static final int APR_CHR
    Deprecated.
    a character device
    See Also:
      - Constant Field Values

  - ### APR_BLK

    public static final int APR_BLK
    Deprecated.
    a block device
    See Also:
      - Constant Field Values

  - ### APR_PIPE

    public static final int APR_PIPE
    Deprecated.
    a FIFO / pipe
    See Also:
      - Constant Field Values

  - ### APR_LNK

    public static final int APR_LNK
    Deprecated.
    a symbolic link
    See Also:
      - Constant Field Values

  - ### APR_SOCK

    public static final int APR_SOCK
    Deprecated.
    a [unix domain] socket
    See Also:
      - Constant Field Values

  - ### APR_UNKFILE

    public static final int APR_UNKFILE
    Deprecated.
    a file of some other unknown type
    See Also:
      - Constant Field Values

  - ### APR_FPROT_USETID

    public static final int APR_FPROT_USETID
    Deprecated.
    Set user id
    See Also:
      - Constant Field Values

  - ### APR_FPROT_UREAD

    public static final int APR_FPROT_UREAD
    Deprecated.
    Read by user
    See Also:
      - Constant Field Values

  - ### APR_FPROT_UWRITE

    public static final int APR_FPROT_UWRITE
    Deprecated.
    Write by user
    See Also:
      - Constant Field Values

  - ### APR_FPROT_UEXECUTE

    public static final int APR_FPROT_UEXECUTE
    Deprecated.
    Execute by user
    See Also:
      - Constant Field Values

  - ### APR_FPROT_GSETID

    public static final int APR_FPROT_GSETID
    Deprecated.
    Set group id
    See Also:
      - Constant Field Values

  - ### APR_FPROT_GREAD

    public static final int APR_FPROT_GREAD
    Deprecated.
    Read by group
    See Also:
      - Constant Field Values

  - ### APR_FPROT_GWRITE

    public static final int APR_FPROT_GWRITE
    Deprecated.
    Write by group
    See Also:
      - Constant Field Values

  - ### APR_FPROT_GEXECUTE

    public static final int APR_FPROT_GEXECUTE
    Deprecated.
    Execute by group
    See Also:
      - Constant Field Values

  - ### APR_FPROT_WSTICKY

    public static final int APR_FPROT_WSTICKY
    Deprecated.
    Sticky bit
    See Also:
      - Constant Field Values

  - ### APR_FPROT_WREAD

    public static final int APR_FPROT_WREAD
    Deprecated.
    Read by others
    See Also:
      - Constant Field Values

  - ### APR_FPROT_WWRITE

    public static final int APR_FPROT_WWRITE
    Deprecated.
    Write by others
    See Also:
      - Constant Field Values

  - ### APR_FPROT_WEXECUTE

    public static final int APR_FPROT_WEXECUTE
    Deprecated.
    Execute by others
    See Also:
      - Constant Field Values

  - ### APR_FPROT_OS_DEFAULT

    public static final int APR_FPROT_OS_DEFAULT
    Deprecated.
    use OS's default permissions
    See Also:
      - Constant Field Values

  - ### APR_FINFO_LINK

    public static final int APR_FINFO_LINK
    Deprecated.
    Stat the link not the file itself if it is a link
    See Also:
      - Constant Field Values

  - ### APR_FINFO_MTIME

    public static final int APR_FINFO_MTIME
    Deprecated.
    Modification Time
    See Also:
      - Constant Field Values

  - ### APR_FINFO_CTIME

    public static final int APR_FINFO_CTIME
    Deprecated.
    Creation or inode-changed time
    See Also:
      - Constant Field Values

  - ### APR_FINFO_ATIME

    public static final int APR_FINFO_ATIME
    Deprecated.
    Access Time
    See Also:
      - Constant Field Values

  - ### APR_FINFO_SIZE

    public static final int APR_FINFO_SIZE
    Deprecated.
    Size of the file
    See Also:
      - Constant Field Values

  - ### APR_FINFO_CSIZE

    public static final int APR_FINFO_CSIZE
    Deprecated.
    Storage size consumed by the file
    See Also:
      - Constant Field Values

  - ### APR_FINFO_DEV

    public static final int APR_FINFO_DEV
    Deprecated.
    Device
    See Also:
      - Constant Field Values

  - ### APR_FINFO_INODE

    public static final int APR_FINFO_INODE
    Deprecated.
    Inode
    See Also:
      - Constant Field Values

  - ### APR_FINFO_NLINK

    public static final int APR_FINFO_NLINK
    Deprecated.
    Number of links
    See Also:
      - Constant Field Values

  - ### APR_FINFO_TYPE

    public static final int APR_FINFO_TYPE
    Deprecated.
    Type
    See Also:
      - Constant Field Values

  - ### APR_FINFO_USER

    public static final int APR_FINFO_USER
    Deprecated.
    User
    See Also:
      - Constant Field Values

  - ### APR_FINFO_GROUP

    public static final int APR_FINFO_GROUP
    Deprecated.
    Group
    See Also:
      - Constant Field Values

  - ### APR_FINFO_UPROT

    public static final int APR_FINFO_UPROT
    Deprecated.
    User protection bits
    See Also:
      - Constant Field Values

  - ### APR_FINFO_GPROT

    public static final int APR_FINFO_GPROT
    Deprecated.
    Group protection bits
    See Also:
      - Constant Field Values

  - ### APR_FINFO_WPROT

    public static final int APR_FINFO_WPROT
    Deprecated.
    World protection bits
    See Also:
      - Constant Field Values

  - ### APR_FINFO_ICASE

    public static final int APR_FINFO_ICASE
    Deprecated.
    if dev is case insensitive
    See Also:
      - Constant Field Values

  - ### APR_FINFO_NAME

    public static final int APR_FINFO_NAME
    Deprecated.
    ->name in proper case
    See Also:
      - Constant Field Values

  - ### APR_FINFO_MIN

    public static final int APR_FINFO_MIN
    Deprecated.
    type, mtime, ctime, atime, size
    See Also:
      - Constant Field Values

  - ### APR_FINFO_IDENT

    public static final int APR_FINFO_IDENT
    Deprecated.
    dev and inode
    See Also:
      - Constant Field Values

  - ### APR_FINFO_OWNER

    public static final int APR_FINFO_OWNER
    Deprecated.
    user and group
    See Also:
      - Constant Field Values

  - ### APR_FINFO_PROT

    public static final int APR_FINFO_PROT
    Deprecated.
    all protections
    See Also:
      - Constant Field Values

  - ### APR_FINFO_NORM

    public static final int APR_FINFO_NORM
    Deprecated.
    an atomic unix apr_stat()
    See Also:
      - Constant Field Values

  - ### APR_FINFO_DIRENT

    public static final int APR_FINFO_DIRENT
    Deprecated.
    an atomic unix apr_dir_read()
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### File

    public File()
    Deprecated.

- ## Method Details

  - ### open

    public static long open(String fname, int flag, int perm, long pool) throws Error
    Deprecated.
    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` - An error occurred

  - ### close

    public static int close(long file)
    Deprecated.
    Close the specified file.
    Parameters:
      `file` - The file descriptor to close.
    Returns:
      the operation status

  - ### flush

    public static int flush(long thefile)
    Deprecated.
    Flush the file's buffer.
    Parameters:
      `thefile` - The file descriptor to flush
    Returns:
      the operation status

  - ### mktemp

    public static long mktemp(String templ, int flags, long pool) throws Error
    Deprecated.
    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` - An error occurred

  - ### remove

    public static int remove(String path, long pool)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### rename

    public static int rename(String fromPath, String toPath, long pool)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### copy

    public static int copy(String fromPath, String toPath, int perms, long pool)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### append

    public static int append(String fromPath, String toPath, int perms, long pool)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### puts

    public static int puts(byte[] str, long thefile)
    Deprecated.
    Write the string into the specified file.
    Parameters:
      `str` - The string to write. Must be NUL terminated!
      `thefile` - The file descriptor to write to
    Returns:
      the operation status

  - ### seek

    public static long seek(long thefile, int where, long offset) throws Error
    Deprecated.
    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` - If an error occurs reading the file

  - ### putc

    public static int putc(byte ch, long thefile)
    Deprecated.
    Write a character into the specified file.
    Parameters:
      `ch` - The character to write.
      `thefile` - The file descriptor to write to
    Returns:
      the operation status

  - ### ungetc

    public static int ungetc(byte ch, long thefile)
    Deprecated.
    Put a character back onto a specified stream.
    Parameters:
      `ch` - The character to write.
      `thefile` - The file descriptor to write to
    Returns:
      the operation status

  - ### write

    public static int write(long thefile, byte[] buf, int offset, int nbytes)
    Deprecated.
    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
    Returns:
      The number of bytes written.

  - ### writeb

    public static int writeb(long thefile, ByteBuffer buf, int offset, int nbytes)
    Deprecated.
    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)
    Deprecated.
    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
    Returns:
      The number of bytes written.

  - ### writeFullb

    public static int writeFullb(long thefile, ByteBuffer buf, int offset, int nbytes)
    Deprecated.
    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)
    Deprecated.
    Write data from array 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)
    Deprecated.
    Write data from array 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)
    Deprecated.
    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
    Returns:
      the number of bytes read.

  - ### readb

    public static int readb(long thefile, ByteBuffer buf, int offset, int nbytes)
    Deprecated.
    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)
    Deprecated.
    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
    Returns:
      the number of bytes read.

  - ### readFullb

    public static int readFullb(long thefile, ByteBuffer buf, int offset, int nbytes)
    Deprecated.
    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)
    Deprecated.
    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
    Returns:
      the number of bytes read.

  - ### getc

    public static int getc(long thefile) throws Error
    Deprecated.
    Read a character from the specified file.
    Parameters:
      `thefile` - The file descriptor to read from
    Returns:
      The read character
    Throws:
      `Error` - If an error occurs reading the file

  - ### eof

    public static int eof(long fptr)
    Deprecated.
    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 String nameGet(long thefile)
    Deprecated.
    Return the file name of the current file.
    Parameters:
      `thefile` - The currently open file.
    Returns:
      the name

  - ### permsSet

    public static int permsSet(String fname, int perms)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### attrsSet

    public static int attrsSet(String fname, int attributes, int mask, long pool)
    Deprecated.
    Set attributes of the specified file. This function should be used in preference to explicit 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.
    Returns:
      the operation status

  - ### mtimeSet

    public static int mtimeSet(String fname, long mtime, long pool)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### lock

    public static int lock(long thefile, int type)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### unlock

    public static int unlock(long thefile)
    Deprecated.
    Remove any outstanding locks on the file.
    Parameters:
      `thefile` - The file to unlock.
    Returns:
      the operation status

  - ### flagsGet

    public static int flagsGet(long file)
    Deprecated.
    Retrieve the flags that were passed into apr_file_open() when the file was opened.
    Parameters:
      `file` - The file to retrieve flags.
    Returns:
      the flags

  - ### trunc

    public static int trunc(long fp, long offset)
    Deprecated.
    Truncate the file's length to the specified offset
    Parameters:
      `fp` - The file to truncate
      `offset` - The offset to truncate to.
    Returns:
      the operation status

  - ### pipeCreate

    public static int pipeCreate(long[] io, long pool)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### pipeTimeoutGet

    public static long pipeTimeoutGet(long thepipe) throws Error
    Deprecated.
    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` - If an error occurs

  - ### pipeTimeoutSet

    public static int pipeTimeoutSet(long thepipe, long timeout)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### dup

    public static long dup(long newFile, long oldFile, long pool) throws Error
    Deprecated.
    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` - If an error occurs reading the file descriptor

  - ### dup2

    public static int dup2(long newFile, long oldFile, long pool)
    Deprecated.
    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:
      the operation status

  - ### stat

    public static int stat(FileInfo finfo, String fname, int wanted, long pool)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### getStat

    public static FileInfo getStat(String fname, int wanted, long pool)
    Deprecated.
    Get the specified file's stats. The file is specified by filename, instead of using a pre-opened file.
    Parameters:
      `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.
    Returns:
      FileInfo object.

  - ### infoGet

    public static int infoGet(FileInfo finfo, int wanted, long thefile)
    Deprecated.
    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.
    Returns:
      the operation status

  - ### getInfo

    public static FileInfo getInfo(int wanted, long thefile)
    Deprecated.
    Get the specified file's stats.
    Parameters:
      `wanted` - The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
      `thefile` - The file to get information about.
    Returns:
      FileInfo object.