public interface StandardJavaFileManager extends JavaFileManager
File manager based on java.io.File. A common way to obtain an instance of this class is using getStandardFileManager, for example:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>(); StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null);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:
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
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.
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)
Gets file objects representing the given files.
files
- a list of filesIllegalArgumentException
- if the list of files includes a directoryIterable<? extends JavaFileObject> getJavaFileObjects(File... files)
Gets file objects representing the given files. Convenience method equivalent to:
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)
Gets file objects representing the given file names.
names
- a list of file namesIllegalArgumentException
- if the list of file names includes a directoryIterable<? extends JavaFileObject> getJavaFileObjects(String... names)
Gets file objects representing the given file names. Convenience method equivalent to:
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
Associates the given path with the given location. Any previous value will be discarded.
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)
Gets the path associated with the given location.
location
- a locationnull
if this location has no associated pathsetLocation(javax.tools.JavaFileManager.Location, java.lang.Iterable<? extends java.io.File>)
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.