1887b5ca49
R=jmesserly@google.com, lrn@google.com, nweiz@google.com Review URL: https://codereview.chromium.org//22909059 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26712 260f80e4-7a28-3924-810f-c04153c831b5
43 lines
1.3 KiB
Dart
43 lines
1.3 KiB
Dart
// Copyright (c) 2013, 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:convert';
|
|
import 'dart:io';
|
|
import 'file_system.dart';
|
|
|
|
/** File system implementation using the vm api's. */
|
|
class VMFileSystem implements FileSystem {
|
|
void writeString(String path, String text) {
|
|
var file = new File(path).openSync(mode: 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.readIntoSync(buffer, 0, length);
|
|
file.closeSync();
|
|
return UTF8.decode(bytes);
|
|
}
|
|
|
|
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.';
|
|
}
|
|
}
|