## Uses of Interface
javax.tools.JavaFileObject

- Packages that use JavaFileObject
  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 JavaFileObject in javax.annotation.processing

    Methods in javax.annotation.processing that return JavaFileObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `JavaFileObject` | Filer.`createClassFile(CharSequence name, Element... originatingElements)` Creates a new class file, and returns an object to allow writing to it.
    `JavaFileObject` | Filer.`createSourceFile(CharSequence name, Element... originatingElements)` Creates a new source file and returns an object to allow writing to it.

  - ### Uses of JavaFileObject in javax.tools

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

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

    Methods in javax.tools that return JavaFileObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `JavaFileObject` | ForwardingJavaFileManager.`getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)`
    `JavaFileObject` | JavaFileManager.`getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind)` Gets a file object for input representing the specified class of the specified kind 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.

    Methods in javax.tools that return types with arguments of type JavaFileObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjects(File... files)` Gets file objects representing the given files.
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjects(String... names)` Gets file objects representing the given file names.
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjectsFromFiles(Iterable<? extends File> files)` Gets file objects representing the given files.
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjectsFromStrings(Iterable<String> names)` Gets file objects representing the given file names.
    `Iterable<JavaFileObject>` | ForwardingJavaFileManager.`list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)`
    `Iterable<JavaFileObject>` | JavaFileManager.`list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)` Lists all file objects matching the given criteria in the given location.

    Methods in javax.tools with parameters of type JavaFileObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | ForwardingJavaFileManager.`inferBinaryName(JavaFileManager.Location location, JavaFileObject file)`
    `String` | JavaFileManager.`inferBinaryName(JavaFileManager.Location location, JavaFileObject file)` Infers a binary name of a file object based on a location.

    Method parameters in javax.tools with type arguments of type JavaFileObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `StandardJavaFileManager` | DocumentationTool.`getStandardFileManager(DiagnosticListener<? super JavaFileObject> diagnosticListener, Locale locale, Charset charset)` Gets a new instance of the standard file manager implementation for this tool.
    `StandardJavaFileManager` | JavaCompiler.`getStandardFileManager(DiagnosticListener<? super JavaFileObject> diagnosticListener, Locale locale, Charset charset)` Gets a new instance of the standard file manager implementation for this tool.
    `DocumentationTool.DocumentationTask` | DocumentationTool.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Class<?> docletClass, Iterable<String> options, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a documentation task with the given components and arguments.
    `DocumentationTool.DocumentationTask` | DocumentationTool.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Class<?> docletClass, Iterable<String> options, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a documentation task with the given components and arguments.
    `JavaCompiler.CompilationTask` | JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.
    `JavaCompiler.CompilationTask` | JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.

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.