public interface StandardJavaFileManager extends JavaFileManager
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();This file manager creates file objects representing regular files, zip file entries, or entries in similar file system based containers. Any file object returned from a file manager implementing this interface must observe the following behavior:DiagnosticCollector<JavaFileObject>
diagnostics = newDiagnosticCollector<JavaFileObject>()
; StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null);
FileObject.delete()
is equivalent to File.delete()
,
FileObject.getLastModified()
is equivalent to File.lastModified()
,
FileObject.getCharContent(boolean)
,
FileObject.openInputStream()
, and
FileObject.openReader(boolean)
must succeed if the following would succeed (ignoring
encoding issues):
new FileInputStream(new File(fileObject.toUri()))
FileObject.openOutputStream()
, and
FileObject.openWriter()
must
succeed if the following would succeed (ignoring encoding
issues):
new FileOutputStream(new File(fileObject.toUri()))
FileObject.toUri()
file:///C:/Documents%20and%20Settings/UncleBob/BobsApp/Test.java
jar:///C:/Documents%20and%20Settings/UncleBob/lib/vendorA.jar!com/vendora/LibraryClass.class
file:BobsApp/Test.java
(the file name is relative
and depend on the current directory)
jar:lib/vendorA.jar!com/vendora/LibraryClass.class
(the first half of the path depends on the current directory,
whereas the component after ! is legal)
Test.java
(this URI depends on the current
directory and does not have a schema)
jar:///C:/Documents%20and%20Settings/UncleBob/BobsApp/../lib/vendorA.jar!com/vendora/LibraryClass.class
(the path is not normalized)
JavaFileManager.Location
Modifier and Type | Method | Description |
---|---|---|
Iterable<? extends JavaFileObject> |
getJavaFileObjects (File... files) |
Gets file objects representing the given files.
|
Iterable<? extends JavaFileObject> |
getJavaFileObjects (String... names) |
Gets file objects representing the given file names.
|
Iterable<? extends JavaFileObject> |
getJavaFileObjectsFromFiles (Iterable<? extends File> files) |
Gets file objects representing the given files.
|
Iterable<? extends JavaFileObject> |
getJavaFileObjectsFromStrings (Iterable<String> names) |
Gets file objects representing the given file names.
|
Iterable<? extends File> |
getLocation (JavaFileManager.Location location) |
Gets the path associated with the given location.
|
boolean |
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.
|
void |
setLocation (JavaFileManager.Location location,
Iterable<? extends File> path) |
Associates the given path with the given location.
|
close, flush, getClassLoader, getFileForInput, getFileForOutput, getJavaFileForInput, getJavaFileForOutput, handleOption, hasLocation, inferBinaryName, list
isSupportedOption
boolean isSameFile(FileObject a, FileObject b)
isSameFile
in interface JavaFileManager
a
- a file objectb
- a file objectIllegalArgumentException
- if either of the arguments
were created with another file manager implementationIterable<? extends JavaFileObject> getJavaFileObjectsFromFiles(Iterable<? extends File> files)
files
- a list of filesIllegalArgumentException
- if the list of files includes
a directoryIterable<? extends JavaFileObject> getJavaFileObjects(File... files)
getJavaFileObjectsFromFiles(Arrays.asList(files))
files
- an array of filesIllegalArgumentException
- if the array of files includes
a directoryNullPointerException
- if the given array contains null
elementsIterable<? extends JavaFileObject> getJavaFileObjectsFromStrings(Iterable<String> names)
names
- a list of file namesIllegalArgumentException
- if the list of file names
includes a directoryIterable<? extends JavaFileObject> getJavaFileObjects(String... names)
getJavaFileObjectsFromStrings(Arrays.asList(names))
names
- a list of file namesIllegalArgumentException
- if the array of file names
includes a directoryNullPointerException
- if the given array contains null
elementsvoid setLocation(JavaFileManager.Location location, Iterable<? extends File> path) throws IOException
location
- a locationpath
- a list of files, if null
use the default
path for this locationIllegalArgumentException
- if location is an output
location and path does not contain exactly one elementIOException
- if location is an output location and path
does not represent an existing directorygetLocation(javax.tools.JavaFileManager.Location)
Iterable<? extends File> getLocation(JavaFileManager.Location location)
location
- a locationnull
if this location has no
associated pathsetLocation(javax.tools.JavaFileManager.Location, java.lang.Iterable<? extends java.io.File>)
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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
Scripting on this page tracks web page traffic, but does not change the content in any way.