This class and its children serve to unify handling of files and directories. These files and directories may or may not have some real counter part within the file system. For example, some file handles reference files within a zip archive or virtual ones that exist only in memory.
Every abstract file has a path (i.e. a full name) and a name (i.e. a short name) and may be backed by some real File. There are two different kinds of abstract files: regular files and directories. Regular files may be read and have a last modification time. Directories may list their content and look for subfiles with a specified name or path and of a specified kind.
The interface does not allow to access the content. The class symtab.classfile.AbstractFileReader
accesses bytes, knowing that the character set of classfiles is UTF-8. For all other cases, the class SourceFile
is used, which honors global.settings.encoding.value
.
''Note: This library is considered experimental and should not be used unless you know what you are doing.''
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait Iterable[AbstractFile]trait IterableOnce[AbstractFile]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
object NoAbstractFile.typeclass PlainFileclass PlainDirectoryclass JarArchiveclass VirtualDirectoryclass VirtualFileclass Entryclass DirEntryclass ZipArchiveclass FileZipArchiveclass ManifestResourcesShow all
Members list
Value members
Abstract methods
The absolute file, if this is a relative file.
The absolute file, if this is a relative file.
Attributes
Returns the containing directory of this abstract file
Returns the containing directory of this abstract file
Attributes
Create a file on disk, if one does not exist already.
Create a file on disk, if one does not exist already.
Attributes
Delete the underlying file or directory (recursively).
Delete the underlying file or directory (recursively).
Attributes
returns an input stream so the file can be read
returns an input stream so the file can be read
Attributes
Is this abstract file a directory?
Is this abstract file a directory?
Attributes
Returns all abstract subfiles of this abstract directory.
Returns all abstract subfiles of this abstract directory.
Attributes
Returns the underlying Path if any and null otherwise.
Returns the underlying Path if any and null otherwise.
Attributes
Returns the time that this abstract file was last modified.
Returns the time that this abstract file was last modified.
Attributes
Returns the abstract file in this abstract directory with the specified name. If there is no such file, returns null
. The argument directory
tells whether to look for a directory or a regular file.
Returns the abstract file in this abstract directory with the specified name. If there is no such file, returns null
. The argument directory
tells whether to look for a directory or a regular file.
Attributes
Returns an abstract file with the given name. It does not check that it exists.
Returns an abstract file with the given name. It does not check that it exists.
Attributes
Returns the name of this abstract file.
Returns the name of this abstract file.
Attributes
Returns an output stream for writing the file
Returns an output stream for writing the file
Attributes
Concrete methods
Returns the absolute path of this abstract file.
Returns the absolute path of this abstract file.
Attributes
Returns a buffered output stream for writing the file - defaults to out
Returns a buffered output stream for writing the file - defaults to out
Attributes
Returns the path of this abstract file in a canonical form.
Returns the path of this abstract file in a canonical form.
Attributes
Does this abstract file denote an existing file?
Does this abstract file denote an existing file?
Attributes
Returns the underlying File if any and null otherwise.
Returns the underlying File if any and null otherwise.
Attributes
Get the file in this directory with the given name, creating an empty file if it does not already existing.
Get the file in this directory with the given name, creating an empty file if it does not already existing.
Attributes
Checks extension case insensitively.
Checks extension case insensitively.
Attributes
Does this abstract file represent something which can contain classfiles?
Does this abstract file represent something which can contain classfiles?
Attributes
Does this abstract file correspond to something on-disk?
Does this abstract file correspond to something on-disk?
Attributes
Drill down through subdirs looking for the target, as in lookupName. Ths target name is the last of parts.
Drill down through subdirs looking for the target, as in lookupName. Ths target name is the last of parts.
Attributes
Return an abstract file that does not check that path
denotes an existing file.
Return an abstract file that does not check that path
denotes an existing file.
Attributes
size of this file if it is a concrete file.
size of this file if it is a concrete file.
Attributes
Get the subdirectory with a given name, creating it if it does not already exist.
Get the subdirectory with a given name, creating it if it does not already exist.
Attributes
Returns contents of file (if applicable) in a byte array.
Returns contents of file (if applicable) in a byte array.
Attributes
Returns contents of file (if applicable) in a Char array. warning: use Global.getSourceFile()
to use the proper encoding when converting to the char array.
Returns contents of file (if applicable) in a Char array. warning: use Global.getSourceFile()
to use the proper encoding when converting to the char array.
Attributes
Returns the path of this abstract file.
An underlying source, if known. Mostly, a zip/jar file.
An underlying source, if known. Mostly, a zip/jar file.
Attributes
Inherited methods
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Definition Classes
- Inherited from:
- IterableFactoryDefaults
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableFactoryDefaults
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Definition Classes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- Iterable
Attributes
- Inherited from:
- IterableOnce
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableFactoryDefaults
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Definition Classes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnce
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Definition Classes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Attributes
- Inherited from:
- IterableOps
Deprecated and Inherited methods
Attributes
- Deprecated
-
[Since version 2.13.0]
Use ++ instead of ++: for collections of type Iterable - Inherited from:
- IterableOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use foldLeft instead of /: - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use foldRight instead of :\\ - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
`aggregate` is not relevant for sequential collections. Use `foldLeft(z)(seqop)` instead. - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use iterableFactory instead - Inherited from:
- IterableOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use `dest ++= coll` instead - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Check .knownSize instead of .hasDefiniteSize for more actionable information (see scaladoc for details) - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use coll instead of repr in a collection implementation, use the collection value itself from the outside - Inherited from:
- IterableOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Iterable.seq always returns the iterable itself - Inherited from:
- Iterable
Attributes
- Deprecated
-
[Since version 2.13.7]
toIterable is internal and will be made protected; its name is similar to `toList` or `toSeq`, but it doesn\'t copy non-immutable collections - Inherited from:
- Iterable
Attributes
- Deprecated
-
[Since version 2.13.0]
Use .iterator instead of .toIterator - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use .to(LazyList) instead of .toStream - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
toTraversable is internal and will be made protected; its name is similar to `toList` or `toSeq`, but it doesn\'t copy non-immutable collections - Inherited from:
- IterableOps