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

Side by Side Diff: sdk/lib/io/file.dart

Issue 20745006: Add a flush operations to IOSink (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 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 | sdk/lib/io/file_impl.dart » ('j') | sdk/lib/io/io_sink.dart » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 part of dart.io; 5 part of dart.io;
6 6
7 /** 7 /**
8 * FileMode describes the modes in which a file can be opened. 8 * FileMode describes the modes in which a file can be opened.
9 */ 9 */
10 class FileMode { 10 class FileMode {
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 /** 263 /**
264 * Write a list of bytes to a file. 264 * Write a list of bytes to a file.
265 * 265 *
266 * Opens the file, writes the list of bytes to it, and closes the file. 266 * Opens the file, writes the list of bytes to it, and closes the file.
267 * Returns a [:Future<File>:] that completes with this [File] object once 267 * Returns a [:Future<File>:] that completes with this [File] object once
268 * the entire operation has completed. 268 * the entire operation has completed.
269 * 269 *
270 * By default [writeAsBytes] creates the file for writing and truncates the 270 * By default [writeAsBytes] creates the file for writing and truncates the
271 * file if it already exists. In order to append the bytes to an existing 271 * file if it already exists. In order to append the bytes to an existing
272 * file, pass [FileMode.APPEND] as the optional mode parameter. 272 * file, pass [FileMode.APPEND] as the optional mode parameter.
273 *
274 * If the argument [flush] is set to `true`, the data written will be
275 * flushed to the file system before the returned future completes.
273 */ 276 */
274 Future<File> writeAsBytes(List<int> bytes, {FileMode mode: FileMode.WRITE}); 277 Future<File> writeAsBytes(List<int> bytes,
278 {FileMode mode: FileMode.WRITE,
279 bool flush: false});
275 280
276 /** 281 /**
277 * Synchronously write a list of bytes to a file. 282 * Synchronously write a list of bytes to a file.
278 * 283 *
279 * Opens the file, writes the list of bytes to it and closes the file. 284 * Opens the file, writes the list of bytes to it and closes the file.
280 * 285 *
281 * By default [writeAsBytesSync] creates the file for writing and truncates 286 * By default [writeAsBytesSync] creates the file for writing and truncates
282 * the file if it already exists. In order to append the bytes to an existing 287 * the file if it already exists. In order to append the bytes to an existing
283 * file, pass [FileMode.APPEND] as the optional mode parameter. 288 * file, pass [FileMode.APPEND] as the optional mode parameter.
284 * 289 *
290 * If the [flush] argument is set to `true` data written will be
291 * flushed to the file system before the returning.
292 *
285 * Throws a [FileException] if the operation fails. 293 * Throws a [FileException] if the operation fails.
286 */ 294 */
287 void writeAsBytesSync(List<int> bytes, {FileMode mode: FileMode.WRITE}); 295 void writeAsBytesSync(List<int> bytes,
296 {FileMode mode: FileMode.WRITE,
297 bool flush: false});
288 298
289 /** 299 /**
290 * Write a string to a file. 300 * Write a string to a file.
291 * 301 *
292 * Opens the file, writes the string in the given encoding, and closes the 302 * Opens the file, writes the string in the given encoding, and closes the
293 * file. Returns a [:Future<File>:] that completes with this [File] object 303 * file. Returns a [:Future<File>:] that completes with this [File] object
294 * once the entire operation has completed. 304 * once the entire operation has completed.
295 * 305 *
296 * By default [writeAsString] creates the file for writing and truncates the 306 * By default [writeAsString] creates the file for writing and truncates the
297 * file if it already exists. In order to append the bytes to an existing 307 * file if it already exists. In order to append the bytes to an existing
298 * file, pass [FileMode.APPEND] as the optional mode parameter. 308 * file, pass [FileMode.APPEND] as the optional mode parameter.
309 *
310 * If the argument [flush] is set to `true`, the data written will be
311 * flushed to the file system before the returned future completes.
299 */ 312 */
300 Future<File> writeAsString(String contents, 313 Future<File> writeAsString(String contents,
301 {FileMode mode: FileMode.WRITE, 314 {FileMode mode: FileMode.WRITE,
302 Encoding encoding: Encoding.UTF_8}); 315 Encoding encoding: Encoding.UTF_8,
316 bool flush: false});
303 317
304 /** 318 /**
305 * Synchronously write a string to a file. 319 * Synchronously write a string to a file.
306 * 320 *
307 * Opens the file, writes the string in the given encoding, and closes the 321 * Opens the file, writes the string in the given encoding, and closes the
308 * file. 322 * file.
309 * 323 *
310 * By default [writeAsStringSync] creates the file for writing and 324 * By default [writeAsStringSync] creates the file for writing and
311 * truncates the file if it already exists. In order to append the bytes 325 * truncates the file if it already exists. In order to append the bytes
312 * to an existing file, pass [FileMode.APPEND] as the optional mode 326 * to an existing file, pass [FileMode.APPEND] as the optional mode
313 * parameter. 327 * parameter.
314 * 328 *
329 * If the [flush] argument is set to `true` data written will be
330 * flushed to the file system before the returning.
331 *
315 * Throws a [FileException] if the operation fails. 332 * Throws a [FileException] if the operation fails.
316 */ 333 */
317 void writeAsStringSync(String contents, 334 void writeAsStringSync(String contents,
318 {FileMode mode: FileMode.WRITE, 335 {FileMode mode: FileMode.WRITE,
319 Encoding encoding: Encoding.UTF_8}); 336 Encoding encoding: Encoding.UTF_8,
337 bool flush: false});
320 338
321 /** 339 /**
322 * Get the path of the file. 340 * Get the path of the file.
323 */ 341 */
324 String get path; 342 String get path;
325 } 343 }
326 344
327 345
328 /** 346 /**
329 * [RandomAccessFile] provides random access to the data in a 347 * [RandomAccessFile] provides random access to the data in a
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 } 564 }
547 } else if (osError != null) { 565 } else if (osError != null) {
548 sb.write(": osError"); 566 sb.write(": osError");
549 if (path != null) { 567 if (path != null) {
550 sb.write(", path = $path"); 568 sb.write(", path = $path");
551 } 569 }
552 } 570 }
553 return sb.toString(); 571 return sb.toString();
554 } 572 }
555 } 573 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/io/file_impl.dart » ('j') | sdk/lib/io/io_sink.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698