Chromium Code Reviews| Index: sdk/lib/io/file_impl.dart |
| diff --git a/sdk/lib/io/file_impl.dart b/sdk/lib/io/file_impl.dart |
| index 0ba765cfb34a485ed91e21f7f778ea3d7f63dc95..4802a7cfd18dccb0f7d6fb9ab607311fa9e2ba72 100644 |
| --- a/sdk/lib/io/file_impl.dart |
| +++ b/sdk/lib/io/file_impl.dart |
| @@ -468,14 +468,15 @@ class _File extends _FileBase implements File { |
| return new _FileStream(_path); |
| } |
| - IOSink<File> openWrite([FileMode mode = FileMode.WRITE]) { |
| + IOSink<File> openWrite({FileMode mode: FileMode.WRITE, |
| + Encoding encoding: Encoding.UTF_8}) { |
| if (mode != FileMode.WRITE && |
| mode != FileMode.APPEND) { |
| throw new FileIOException( |
| "Wrong FileMode. Use FileMode.WRITE or FileMode.APPEND"); |
| } |
| var consumer = new _FileStreamConsumer(this, mode); |
| - return new IOSink<File>(consumer); |
| + return new IOSink<File>(consumer, encoding: encoding); |
| } |
| Future<List<int>> readAsBytes() { |
| @@ -549,10 +550,10 @@ class _File extends _FileBase implements File { |
| [FileMode mode = FileMode.WRITE]) { |
| Completer<File> completer = new Completer<File>(); |
| try { |
| - var stream = openWrite(mode); |
| - stream.add(bytes); |
| - stream.close(); |
| - stream.done |
| + var sink = openWrite(mode: mode); |
| + sink.writeBytes(bytes); |
| + sink.close(); |
| + sink.done |
|
Anders Johnsen
2013/03/07 16:53:49
Maybe do:
- 'return sink.done ...' here
- Remove
Søren Gjesse
2013/03/08 09:47:46
Thanks, that is mich nicer. Had to do
return si
|
| .then((_) { |
| completer.complete(this); |
| }) |