| // Copyright (c) 2019, 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. | |
| import 'dart:io'; | |
| /// A string sink that write into a file. | |
| class FileStringSink implements StringSink { | |
| final IOSink _sink; | |
| FileStringSink(String path) | |
| : _sink = File(path).openWrite(mode: FileMode.append); | |
| @override | |
| void write(Object? obj) { | |
| throw UnimplementedError(); | |
| } | |
| @override | |
| void writeAll(Iterable<dynamic> objects, [String separator = '']) { | |
| throw UnimplementedError(); | |
| } | |
| @override | |
| void writeCharCode(int charCode) { | |
| throw UnimplementedError(); | |
| } | |
| @override | |
| void writeln([Object? obj = '']) { | |
| var currentTimeMillis = DateTime.now().millisecondsSinceEpoch; | |
| _sink.writeln('$currentTimeMillis $obj'); | |
| } | |
| } |