Uses of Interface javax.tools.FileObject (Java Platform SE 8 )
Date: 2026-04-22

## Uses of Interface
javax.tools.FileObject

- Packages that use FileObject
  Package | Description
  --- | ---
  javax.annotation.processing | Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
  javax.tools | Provides interfaces for tools which can be invoked from a program, for example, compilers.

- - ### Uses of FileObject in javax.annotation.processing

    Methods in javax.annotation.processing that return FileObject
    Modifier and Type | Method and Description
    --- | ---
    `FileObject` | Filer.`createResource(JavaFileManager.Location location, CharSequence pkg, CharSequence relativeName, Element... originatingElements)` Creates a new auxiliary resource file for writing and returns a file object for it.
    `FileObject` | Filer.`getResource(JavaFileManager.Location location, CharSequence pkg, CharSequence relativeName)` Returns an object for reading an existing resource.

  - ### Uses of FileObject in javax.tools

    Classes in javax.tools with type parameters of type FileObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ForwardingFileObject<F extends FileObject>` Forwards calls to a given file object.

    Subinterfaces of FileObject in javax.tools
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `JavaFileObject` File abstraction for tools operating on Java™ programming language source and class files.

    Classes in javax.tools that implement FileObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ForwardingFileObject<F extends FileObject>` Forwards calls to a given file object.
    `class` | `ForwardingJavaFileObject<F extends JavaFileObject>` Forwards calls to a given file object.
    `class` | `SimpleJavaFileObject` Provides simple implementations for most methods in JavaFileObject.

    Fields in javax.tools declared as FileObject
    Modifier and Type | Field and Description
    --- | ---
    `protected F` | ForwardingFileObject.`fileObject` The file object which all methods are delegated to.

    Methods in javax.tools that return FileObject
    Modifier and Type | Method and Description
    --- | ---
    `FileObject` | ForwardingJavaFileManager.`getFileForInput(JavaFileManager.Location location, String packageName, String relativeName)`
    `FileObject` | JavaFileManager.`getFileForInput(JavaFileManager.Location location, String packageName, String relativeName)` Gets a file object for input representing the specified relative name in the specified package in the given location.
    `FileObject` | ForwardingJavaFileManager.`getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling)`
    `FileObject` | JavaFileManager.`getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling)` Gets a file object for output representing the specified relative name in the specified package in the given location.

    Methods in javax.tools with parameters of type FileObject
    Modifier and Type | Method and Description
    --- | ---
    `FileObject` | ForwardingJavaFileManager.`getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling)`
    `FileObject` | JavaFileManager.`getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling)` Gets a file object for output representing the specified relative name in the specified package in the given location.
    `JavaFileObject` | ForwardingJavaFileManager.`getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)`
    `JavaFileObject` | JavaFileManager.`getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling)` Gets a file object for output representing the specified class of the specified kind in the given location.
    `boolean` | ForwardingJavaFileManager.`isSameFile(FileObject a, FileObject b)`
    `boolean` | StandardJavaFileManager.`isSameFile(FileObject a, FileObject b)` Compares two file objects and return true if they represent the same canonical file, zip file entry, or entry in any file system based container.
    `boolean` | JavaFileManager.`isSameFile(FileObject a, FileObject b)` Compares two file objects and return true if they represent the same underlying object.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.