dotty.tools.io

Type members

Classlikes

An abstraction over files for use in the reflection/compiler libraries.

An abstraction over files for use in the reflection/compiler libraries.

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Authors:

Philippe Altherr

Version:

1.0, 23/03/2004

Companion:
class
abstract class AbstractFile extends Iterable[AbstractFile]

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.

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.''

Companion:
object
trait ClassPath

A representation of the compiler's class- or sourcepath.

A representation of the compiler's class- or sourcepath.

Companion:
object
object ClassPath
Companion:
class
object Directory

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
class
class Directory(jpath: JPath) extends Path

An abstraction for directories.

An abstraction for directories.

Authors:

Paul Phillips

Since:

2.8 ''Note: This is library is considered experimental and should not be used unless you know what you are doing.''

Companion:
object
object File

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
class
class File(jpath: JPath)(implicit constructorCodec: Codec) extends Path with Chars

An abstraction for files. For character data, a Codec can be supplied at either creation time or when a method involving character data is called (with the latter taking precedence if supplied.) If neither is available, the value of scala.io.Codec.default is used.

An abstraction for files. For character data, a Codec can be supplied at either creation time or when a method involving character data is called (with the latter taking precedence if supplied.) If neither is available, the value of scala.io.Codec.default is used.

Authors:

Paul Phillips

Since:

2.8 ''Note: This is library is considered experimental and should not be used unless you know what you are doing.''

Companion:
object

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

final class FileZipArchive(jpath: JPath, release: Option[String]) extends ZipArchive

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

class Jar(file: File)
Companion:
object
object Jar
Companion:
class

This class implements an AbstractFile backed by a jar that be can used as the compiler's output directory.

This class implements an AbstractFile backed by a jar that be can used as the compiler's output directory.

Companion:
object
object JarArchive
Companion:
class
class JarWriter(val file: File, val manifest: Manifest)
final class ManifestResources(val url: URL) extends ZipArchive

A distinguished object so you can avoid both null and Option.

A distinguished object so you can avoid both null and Option.

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

object Path

An abstraction for filesystem paths. The differences between Path, File, and Directory are primarily to communicate intent. Since the filesystem can change at any time, there is no way to reliably associate Files only with files and so on. Any Path can be converted to a File or Directory (and thus gain access to the additional entity specific methods) by calling toFile or toDirectory, which has no effect on the filesystem.

An abstraction for filesystem paths. The differences between Path, File, and Directory are primarily to communicate intent. Since the filesystem can change at any time, there is no way to reliably associate Files only with files and so on. Any Path can be converted to a File or Directory (and thus gain access to the additional entity specific methods) by calling toFile or toDirectory, which has no effect on the filesystem.

Also available are createFile and createDirectory, which attempt to create the path in question.

Authors:

Paul Phillips

Since:

2.8 ''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
class
class Path

The Path constructor is private so we can enforce some semantics regarding how a Path might relate to the world.

The Path constructor is private so we can enforce some semantics regarding how a Path might relate to the world.

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
object
class PlainDirectory(givenPath: Directory) extends PlainFile

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

class PlainFile(val givenPath: Path) extends AbstractFile

This class implements an abstract file backed by a File.

This class implements an abstract file backed by a File.

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
object
object PlainFile
Companion:
class
object Streamable

Traits for objects which can be represented as Streams.

Traits for objects which can be represented as Streams.

Authors:

Paul Phillips

Since:

2.8 ''Note: This library is considered experimental and should not be used unless you know what you are doing.''

class VirtualDirectory(val name: String, maybeContainer: Option[VirtualDirectory]) extends AbstractFile

An in-memory directory.

An in-memory directory.

Authors:

Lex Spoon ''Note: This library is considered experimental and should not be used unless you know what you are doing.''

class VirtualFile(val name: String, val path: String) extends AbstractFile

This class implements an in-memory file.

This class implements an in-memory file.

Authors:

Philippe Altherr

Version:

1.0, 23/03/2004 ''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
object
Companion:
class
object ZipArchive

An abstraction for zip files and streams. Everything is written the way it is for performance: we come through here a lot on every run. Be careful about changing it.

An abstraction for zip files and streams. Everything is written the way it is for performance: we come through here a lot on every run. Be careful about changing it.

Authors:

Philippe Altherr (original version)

Paul Phillips (this one)

Version:

2.0, ''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
class
abstract class ZipArchive(val jpath: JPath, release: Option[String]) extends AbstractFile with Equals

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

''Note: This library is considered experimental and should not be used unless you know what you are doing.''

Companion:
object

Deprecated classlikes

@deprecated("shim for sbt\'s compiler interface", since = "2.12.0")
sealed abstract class DirectoryClassPath
Deprecated
[Since version 2.12.0]
@deprecated("shim for sbt\'s compiler interface", since = "2.12.0")
sealed abstract class JavaClassPath
Deprecated
[Since version 2.12.0]
@deprecated("shim for sbt\'s compiler interface", since = "2.12.0")
sealed abstract class MergedClassPath
Deprecated
[Since version 2.12.0]

Types

type JFile = File
type JPath = Path