| Index: utils/lib/file_system_vm.dart
|
| diff --git a/utils/lib/file_system_vm.dart b/utils/lib/file_system_vm.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..25d634e769fa17cd5b9041094d8c199cf411e3ff
|
| --- /dev/null
|
| +++ b/utils/lib/file_system_vm.dart
|
| @@ -0,0 +1,42 @@
|
| +// 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.
|
| +
|
| +// TODO(terry): Investigate common library for file I/O shared between frog and tools.
|
| +
|
| +#library('file_system_vm');
|
| +#import('dart:io');
|
| +#import('file_system.dart');
|
| +#import('dart:utf');
|
| +
|
| +/** File system implementation using the vm api's. */
|
| +class VMFileSystem implements FileSystem {
|
| + void writeString(String path, String text) {
|
| + var file = new File(path).openSync(FileMode.WRITE);
|
| + file.writeStringSync(text);
|
| + file.closeSync();
|
| + }
|
| +
|
| + String readAll(String filename) {
|
| + var file = (new File(filename)).openSync();
|
| + var length = file.lengthSync();
|
| + var buffer = new List<int>(length);
|
| + var bytes = file.readListSync(buffer, 0, length);
|
| + file.closeSync();
|
| + return new String.fromCharCodes(new Utf8Decoder(buffer).decodeRest());
|
| + }
|
| +
|
| + bool fileExists(String filename) {
|
| + return new File(filename).existsSync();
|
| + }
|
| +
|
| + void createDirectory(String path, [bool recursive = false]) {
|
| + // TODO(rnystrom): Implement.
|
| + throw 'createDirectory() is not implemented by VMFileSystem yet.';
|
| + }
|
| +
|
| + void removeDirectory(String path, [bool recursive = false]) {
|
| + // TODO(rnystrom): Implement.
|
| + throw 'removeDirectory() is not implemented by VMFileSystem yet.';
|
| + }
|
| +}
|
|
|