Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Side by Side Diff: dart/frog/file_system_vm.dart

Issue 9423034: Implement most of String API. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | dart/frog/leg/lib/js_helper.dart » ('j') | dart/frog/leg/lib/js_helper.dart » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #library('file_system_vm'); 5 #library('file_system_vm');
6 #import('dart:io'); 6 #import('dart:io');
7 #import('file_system.dart'); 7 #import('file_system.dart');
8 #import('dart:utf8');
8 9
9 /** File system implementation using the vm api's. */ 10 /** File system implementation using the vm api's. */
10 class VMFileSystem implements FileSystem { 11 class VMFileSystem implements FileSystem {
11 void writeString(String outfile, String text) { 12 void writeString(String outfile, String text) {
12 var f = new File(outfile); 13 var f = new File(outfile);
13 var stream = f.openOutputStream(); 14 var stream = f.openOutputStream();
14 stream.write(text.charCodes()); 15 stream.write(text.charCodes());
15 stream.close(); 16 stream.close();
16 } 17 }
17 18
18 String readAll(String filename) { 19 String readAll(String filename) {
19 var file = (new File(filename)).openSync(); 20 var file = (new File(filename)).openSync();
20 var length = file.lengthSync(); 21 var length = file.lengthSync();
21 var buffer = new List<int>(length); 22 var buffer = new List<int>(length);
22 var bytes = file.readListSync(buffer, 0, length); 23 var bytes = file.readListSync(buffer, 0, length);
23 file.closeSync(); 24 file.closeSync();
24 return new String.fromCharCodes(buffer); 25 return new String.fromCharCodes(Utf8Decoder.decodeUtf8(buffer));
25 } 26 }
26 27
27 bool fileExists(String filename) { 28 bool fileExists(String filename) {
28 return new File(filename).existsSync(); 29 return new File(filename).existsSync();
29 } 30 }
30 31
31 void createDirectory(String path, [bool recursive = false]) { 32 void createDirectory(String path, [bool recursive = false]) {
32 // TODO(rnystrom): Implement. 33 // TODO(rnystrom): Implement.
33 throw 'createDirectory() is not implemented by VMFileSystem yet.'; 34 throw 'createDirectory() is not implemented by VMFileSystem yet.';
34 } 35 }
35 36
36 void removeDirectory(String path, [bool recursive = false]) { 37 void removeDirectory(String path, [bool recursive = false]) {
37 // TODO(rnystrom): Implement. 38 // TODO(rnystrom): Implement.
38 throw 'removeDirectory() is not implemented by VMFileSystem yet.'; 39 throw 'removeDirectory() is not implemented by VMFileSystem yet.';
39 } 40 }
40 } 41 }
OLDNEW
« no previous file with comments | « no previous file | dart/frog/leg/lib/js_helper.dart » ('j') | dart/frog/leg/lib/js_helper.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698