| Index: runtime/bin/file.dart
|
| diff --git a/runtime/bin/file.dart b/runtime/bin/file.dart
|
| deleted file mode 100644
|
| index 43ff45b9ce6612c9feaedeb732fa6094cced4d80..0000000000000000000000000000000000000000
|
| --- a/runtime/bin/file.dart
|
| +++ /dev/null
|
| @@ -1,389 +0,0 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -
|
| -/**
|
| - * FileMode describes the modes in which a file can be opened.
|
| - */
|
| -class FileMode {
|
| - static const READ = const FileMode._internal(0);
|
| - static const WRITE = const FileMode._internal(1);
|
| - static const APPEND = const FileMode._internal(2);
|
| - const FileMode._internal(int this._mode);
|
| - final int _mode;
|
| -}
|
| -
|
| -
|
| -/**
|
| - * [File] objects are references to files.
|
| - *
|
| - * To operate on the underlying file data you need to either get
|
| - * streams using [openInputStream] and [openOutputStream] or open the
|
| - * file for random access operations using [open].
|
| - */
|
| -abstract class File {
|
| - /**
|
| - * Create a File object.
|
| - */
|
| - factory File(String name) => new _File(name);
|
| -
|
| - /**
|
| - * Create a File object from a Path object.
|
| - */
|
| - factory File.fromPath(Path path) => new _File.fromPath(path);
|
| -
|
| - /**
|
| - * Check if the file exists. Does not block and returns a
|
| - * [:Future<bool>:].
|
| - */
|
| - Future<bool> exists();
|
| -
|
| - /**
|
| - * Synchronously check if the file exists.
|
| - */
|
| - bool existsSync();
|
| -
|
| - /**
|
| - * Create the file. Returns a [:Future<File>:] that completes with
|
| - * the file when it has been created.
|
| - *
|
| - * Existing files are left untouched by create. Calling create on an
|
| - * existing file might fail if there are restrictive permissions on
|
| - * the file.
|
| - */
|
| - Future<File> create();
|
| -
|
| - /**
|
| - * Synchronously create the file. Existing files are left untouched
|
| - * by create. Calling create on an existing file might fail if there
|
| - * are restrictive permissions on the file.
|
| - */
|
| - void createSync();
|
| -
|
| - /**
|
| - * Delete the file. Returns a [:Future<File>:] that completes with
|
| - * the file when it has been deleted.
|
| - */
|
| - Future<File> delete();
|
| -
|
| - /**
|
| - * Synchronously delete the file.
|
| - */
|
| - void deleteSync();
|
| -
|
| - /**
|
| - * Get a Directory object for the directory containing this
|
| - * file. Returns a [:Future<Directory>:] that completes with the
|
| - * directory.
|
| - */
|
| - Future<Directory> directory();
|
| -
|
| - /**
|
| - * Synchronously get a Directory object for the directory containing
|
| - * this file.
|
| - */
|
| - Directory directorySync();
|
| -
|
| - /**
|
| - * Get the length of the file. Returns a [:Future<int>:] that
|
| - * completes with the length in bytes.
|
| - */
|
| - Future<int> length();
|
| -
|
| - /**
|
| - * Synchronously get the length of the file.
|
| - */
|
| - int lengthSync();
|
| -
|
| - /**
|
| - * Get the last-modified time of the file. Returns a
|
| - * [:Future<Date>:] that completes with a [Date] object for the
|
| - * modification date.
|
| - */
|
| - Future<Date> lastModified();
|
| -
|
| - /**
|
| - * Get the last-modified time of the file. Throws an exception
|
| - * if the file does not exist.
|
| - */
|
| - Date lastModifiedSync();
|
| -
|
| - /**
|
| - * Open the file for random access operations. Returns a
|
| - * [:Future<RandomAccessFile>:] that completes with the opened
|
| - * random access file. RandomAccessFiles must be closed using the
|
| - * [close] method.
|
| - *
|
| - * Files can be opened in three modes:
|
| - *
|
| - * FileMode.READ: open the file for reading.
|
| - *
|
| - * FileMode.WRITE: open the file for both reading and writing and
|
| - * truncate the file to length zero. If the file does not exist the
|
| - * file is created.
|
| - *
|
| - * FileMode.APPEND: same as FileMode.WRITE except that the file is
|
| - * not truncated.
|
| - */
|
| - Future<RandomAccessFile> open([FileMode mode = FileMode.READ]);
|
| -
|
| - /**
|
| - * Synchronously open the file for random access operations. The
|
| - * result is a RandomAccessFile on which random access operations
|
| - * can be performed. Opened RandomAccessFiles must be closed using
|
| - * the [close] method.
|
| - *
|
| - * See [open] for information on the [mode] argument.
|
| - */
|
| - RandomAccessFile openSync([FileMode mode = FileMode.READ]);
|
| -
|
| - /**
|
| - * Get the canonical full path corresponding to the file name.
|
| - * Returns a [:Future<String>:] that completes with the path.
|
| - */
|
| - Future<String> fullPath();
|
| -
|
| - /**
|
| - * Synchronously get the canonical full path corresponding to the file name.
|
| - */
|
| - String fullPathSync();
|
| -
|
| - /**
|
| - * Create a new independent input stream for the file. The file
|
| - * input stream must be closed when no longer used to free up system
|
| - * resources.
|
| - */
|
| - InputStream openInputStream();
|
| -
|
| - /**
|
| - * Creates a new independent output stream for the file. The file
|
| - * output stream must be closed when no longer used to free up
|
| - * system resources.
|
| - *
|
| - * An output stream can be opened in two modes:
|
| - *
|
| - * FileMode.WRITE: create the stream and truncate the underlying
|
| - * file to length zero.
|
| - *
|
| - * FileMode.APPEND: create the stream and set the position to the end of
|
| - * the underlying file.
|
| - */
|
| - OutputStream openOutputStream([FileMode mode = FileMode.WRITE]);
|
| -
|
| - /**
|
| - * Read the entire file contents as a list of bytes. Returns a
|
| - * [:Future<List<int>>:] that completes with the list of bytes that
|
| - * is the contents of the file.
|
| - */
|
| - Future<List<int>> readAsBytes();
|
| -
|
| - /**
|
| - * Synchronously read the entire file contents as a list of bytes.
|
| - */
|
| - List<int> readAsBytesSync();
|
| -
|
| - /**
|
| - * Read the entire file contents as text using the given
|
| - * [encoding].
|
| - *
|
| - * Returns a [:Future<String>:] that completes with the string once
|
| - * the file contents has been read.
|
| - */
|
| - Future<String> readAsText([Encoding encoding = Encoding.UTF_8]);
|
| -
|
| - /**
|
| - * Synchronously read the entire file contents as text using the
|
| - * given [encoding].
|
| - */
|
| - String readAsTextSync([Encoding encoding = Encoding.UTF_8]);
|
| -
|
| - /**
|
| - * Read the entire file contents as lines of text using the give
|
| - * [encoding].
|
| - *
|
| - * Returns a [:Future<List<String>>:] that completes with the lines
|
| - * once the file contents has been read.
|
| - */
|
| - Future<List<String>> readAsLines([Encoding encoding = Encoding.UTF_8]);
|
| -
|
| - /**
|
| - * Synchronously read the entire file contents as lines of text
|
| - * using the given [encoding].
|
| - */
|
| - List<String> readAsLinesSync([Encoding encoding = Encoding.UTF_8]);
|
| -
|
| - /**
|
| - * Get the name of the file.
|
| - */
|
| - String get name;
|
| -}
|
| -
|
| -
|
| -/**
|
| - * [RandomAccessFile] provides random access to the data in a
|
| - * file. [RandomAccessFile] objects are obtained by calling the
|
| - * [:open:] method on a [File] object.
|
| - */
|
| -abstract class RandomAccessFile {
|
| - /**
|
| - * Close the file. Returns a [:Future<RandomAccessFile>:] that
|
| - * completes with this RandomAccessFile when it has been closed.
|
| - */
|
| - Future<RandomAccessFile> close();
|
| -
|
| - /**
|
| - * Synchronously close the file.
|
| - */
|
| - void closeSync();
|
| -
|
| - /**
|
| - * Read a byte from the file. Returns a [:Future<int>:] that
|
| - * completes with the byte or -1 if end of file has been reached.
|
| - */
|
| - Future<int> readByte();
|
| -
|
| - /**
|
| - * Synchronously read a single byte from the file. If end of file
|
| - * has been reached -1 is returned.
|
| - */
|
| - int readByteSync();
|
| -
|
| - /**
|
| - * Read a List<int> from the file. Returns a [:Future<int>:] that
|
| - * completes with an indication of how much was read.
|
| - */
|
| - Future<int> readList(List<int> buffer, int offset, int bytes);
|
| -
|
| - /**
|
| - * Synchronously read a List<int> from the file. Returns the number
|
| - * of bytes read.
|
| - */
|
| - int readListSync(List<int> buffer, int offset, int bytes);
|
| -
|
| - /**
|
| - * Write a single byte to the file. Returns a
|
| - * [:Future<RandomAccessFile>:] that completes with this
|
| - * RandomAccessFile when the write completes.
|
| - */
|
| - Future<RandomAccessFile> writeByte(int value);
|
| -
|
| - /**
|
| - * Synchronously write a single byte to the file. Returns the
|
| - * number of bytes successfully written.
|
| - */
|
| - int writeByteSync(int value);
|
| -
|
| - /**
|
| - * Write a List<int> to the file. Returns a
|
| - * [:Future<RandomAccessFile>:] that completes with this
|
| - * RandomAccessFile when the write completes.
|
| - */
|
| - Future<RandomAccessFile> writeList(List<int> buffer, int offset, int bytes);
|
| -
|
| - /**
|
| - * Synchronously write a List<int> to the file. Returns the number
|
| - * of bytes successfully written.
|
| - */
|
| - int writeListSync(List<int> buffer, int offset, int bytes);
|
| -
|
| - /**
|
| - * Write a string to the file using the given [encoding]. Returns a
|
| - * [:Future<RandomAccessFile>:] that completes with this
|
| - * RandomAccessFile when the write completes.
|
| - */
|
| - Future<RandomAccessFile> writeString(String string,
|
| - [Encoding encoding = Encoding.UTF_8]);
|
| -
|
| - /**
|
| - * Synchronously write a single string to the file using the given
|
| - * [encoding]. Returns the number of characters successfully
|
| - * written.
|
| - */
|
| - int writeStringSync(String string,
|
| - [Encoding encoding = Encoding.UTF_8]);
|
| -
|
| - /**
|
| - * Get the current byte position in the file. Returns a
|
| - * [:Future<int>:] that completes with the position.
|
| - */
|
| - Future<int> position();
|
| -
|
| - /**
|
| - * Synchronously get the current byte position in the file.
|
| - */
|
| - int positionSync();
|
| -
|
| - /**
|
| - * Set the byte position in the file. Returns a
|
| - * [:Future<RandomAccessFile>:] that completes with this
|
| - * RandomAccessFile when the position has been set.
|
| - */
|
| - Future<RandomAccessFile> setPosition(int position);
|
| -
|
| - /**
|
| - * Synchronously set the byte position in the file.
|
| - */
|
| - void setPositionSync(int position);
|
| -
|
| - /**
|
| - * Truncate (or extend) the file to [length] bytes. Returns a
|
| - * [:Future<RandomAccessFile>:] that completes with this
|
| - * RandomAccessFile when the truncation has been performed.
|
| - */
|
| - Future<RandomAccessFile> truncate(int length);
|
| -
|
| - /**
|
| - * Synchronously truncate (or extend) the file to [length] bytes.
|
| - */
|
| - void truncateSync(int length);
|
| -
|
| - /**
|
| - * Get the length of the file. Returns a [:Future<int>:] that
|
| - * completes with the length in bytes.
|
| - */
|
| - Future<int> length();
|
| -
|
| - /**
|
| - * Synchronously get the length of the file.
|
| - */
|
| - int lengthSync();
|
| -
|
| - /**
|
| - * Flush the contents of the file to disk. Returns a
|
| - * [:Future<RandomAccessFile>:] that completes with this
|
| - * RandomAccessFile when the flush operation completes.
|
| - */
|
| - Future<RandomAccessFile> flush();
|
| -
|
| - /**
|
| - * Synchronously flush the contents of the file to disk.
|
| - */
|
| - void flushSync();
|
| -
|
| - /**
|
| - * Get the name of the file.
|
| - */
|
| - String get name;
|
| -}
|
| -
|
| -
|
| -class FileIOException implements Exception {
|
| - const FileIOException([String this.message = "",
|
| - OSError this.osError = null]);
|
| - String toString() {
|
| - StringBuffer sb = new StringBuffer();
|
| - sb.add("FileIOException");
|
| - if (!message.isEmpty) {
|
| - sb.add(": $message");
|
| - if (osError != null) {
|
| - sb.add(" ($osError)");
|
| - }
|
| - } else if (osError != null) {
|
| - sb.add(": osError");
|
| - }
|
| - return sb.toString();
|
| - }
|
| - final String message;
|
| - final OSError osError;
|
| -}
|
|
|