OLD | NEW |
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 * The modes in which a File can be opened. | 8 * The modes in which a File can be opened. |
9 */ | 9 */ |
10 class FileMode { | 10 class FileMode { |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 factory File(String path) => new _File(path); | 212 factory File(String path) => new _File(path); |
213 | 213 |
214 /** | 214 /** |
215 * Create a File object from a URI. | 215 * Create a File object from a URI. |
216 * | 216 * |
217 * If [uri] cannot reference a file this throws [UnsupportedError]. | 217 * If [uri] cannot reference a file this throws [UnsupportedError]. |
218 */ | 218 */ |
219 factory File.fromUri(Uri uri) => new File(uri.toFilePath()); | 219 factory File.fromUri(Uri uri) => new File(uri.toFilePath()); |
220 | 220 |
221 /** | 221 /** |
222 * Create the file. Returns a [:Future<File>:] that completes with | 222 * Create the file. Returns a `Future<File>` that completes with |
223 * the file when it has been created. | 223 * the file when it has been created. |
224 * | 224 * |
225 * If [recursive] is false, the default, the file is created only if | 225 * If [recursive] is false, the default, the file is created only if |
226 * all directories in the path exist. If [recursive] is true, all | 226 * all directories in the path exist. If [recursive] is true, all |
227 * non-existing path components are created. | 227 * non-existing path components are created. |
228 * | 228 * |
229 * Existing files are left untouched by [create]. Calling [create] on an | 229 * Existing files are left untouched by [create]. Calling [create] on an |
230 * existing file might fail if there are restrictive permissions on | 230 * existing file might fail if there are restrictive permissions on |
231 * the file. | 231 * the file. |
232 * | 232 * |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 * Synchronously copy this file. Returns a [File] | 281 * Synchronously copy this file. Returns a [File] |
282 * instance for the copied file. | 282 * instance for the copied file. |
283 * | 283 * |
284 * If [newPath] identifies an existing file, that file is | 284 * If [newPath] identifies an existing file, that file is |
285 * replaced. If [newPath] identifies an existing directory the | 285 * replaced. If [newPath] identifies an existing directory the |
286 * operation fails and an exception is thrown. | 286 * operation fails and an exception is thrown. |
287 */ | 287 */ |
288 File copySync(String newPath); | 288 File copySync(String newPath); |
289 | 289 |
290 /** | 290 /** |
291 * Get the length of the file. Returns a [:Future<int>:] that | 291 * Get the length of the file. Returns a `Future<int>` that |
292 * completes with the length in bytes. | 292 * completes with the length in bytes. |
293 */ | 293 */ |
294 Future<int> length(); | 294 Future<int> length(); |
295 | 295 |
296 /** | 296 /** |
297 * Synchronously get the length of the file. | 297 * Synchronously get the length of the file. |
298 * | 298 * |
299 * Throws a [FileSystemException] if the operation fails. | 299 * Throws a [FileSystemException] if the operation fails. |
300 */ | 300 */ |
301 int lengthSync(); | 301 int lengthSync(); |
302 | 302 |
303 /** | 303 /** |
304 * Returns a [File] instance whose path is the absolute path to [this]. | 304 * Returns a [File] instance whose path is the absolute path to [this]. |
305 * | 305 * |
306 * The absolute path is computed by prefixing | 306 * The absolute path is computed by prefixing |
307 * a relative path with the current working directory, and returning | 307 * a relative path with the current working directory, and returning |
308 * an absolute path unchanged. | 308 * an absolute path unchanged. |
309 */ | 309 */ |
310 File get absolute; | 310 File get absolute; |
311 | 311 |
| 312 /** |
| 313 * Get the last-accessed time of the file. |
| 314 * |
| 315 * Returns the date and time when the file was last accessed, if the |
| 316 * information is available. |
| 317 * |
| 318 * Throws a [FileSystemException] if the operation fails. |
| 319 */ |
| 320 Future<DateTime> lastAccessed(); |
| 321 |
| 322 /** |
| 323 * Get the last-accessed time of the file. |
| 324 * |
| 325 * Returns the date and time when the file was last accessed, |
| 326 * if the information is available. Blocks until the information can be returned |
| 327 * or it is determined that the information is not available. |
| 328 * |
| 329 * Throws a [FileSystemException] if the operation fails. |
| 330 */ |
| 331 DateTime lastAccessedSync(); |
| 332 |
312 /** | 333 /** |
313 * Get the last-modified time of the file. Returns a | 334 * Modifies the time the file was last accessed. |
314 * [:Future<DateTime>:] that completes with a [DateTime] object for the | 335 * |
315 * modification date. | 336 * Throws a [FilsSystemException] if the time cannot be set. |
316 */ | 337 */ |
| 338 Future setLastAccessed(DateTime time); |
| 339 |
| 340 /** |
| 341 * Synchronously modifies the time the file was last accessed. |
| 342 * |
| 343 * Throws a [FilsSystemException] if the time cannot be set. |
| 344 */ |
| 345 void setLastAccessedSync(DateTime time); |
| 346 |
| 347 /** |
| 348 * Get the last-modified time of the file. |
| 349 * |
| 350 * Returns the date and time when the file was last modified, if the |
| 351 * information is available. |
| 352 * |
| 353 * Throws a [FileSystemException] if the operation fails. |
| 354 */ |
317 Future<DateTime> lastModified(); | 355 Future<DateTime> lastModified(); |
318 | 356 |
319 /** | 357 /** |
320 * Get the last-modified time of the file. Throws an exception | 358 * Get the last-modified time of the file. |
321 * if the file does not exist. | 359 * |
322 * | 360 * Returns the date and time when the file was last modified, |
323 * Throws a [FileSystemException] if the operation fails. | 361 * if the information is available. Blocks until the information can be returned |
324 */ | 362 * or it is determined that the information is not available. |
| 363 * |
| 364 * Throws a [FileSystemException] if the operation fails. |
| 365 */ |
325 DateTime lastModifiedSync(); | 366 DateTime lastModifiedSync(); |
326 | 367 |
327 /** | 368 /** |
| 369 * Modifies the time the file was last modified. |
| 370 * |
| 371 * Throws a [FilsSystemException] if the time cannot be set. |
| 372 */ |
| 373 Future setLastModified(DateTime time); |
| 374 |
| 375 /** |
| 376 * Synchronously modifies the time the file was last modified. |
| 377 * |
| 378 * If the attributes cannot be set, throws a [FileSystemException]. |
| 379 */ |
| 380 void setLastModifiedSync(DateTime time); |
| 381 |
| 382 /** |
328 * Open the file for random access operations. Returns a | 383 * Open the file for random access operations. Returns a |
329 * [:Future<RandomAccessFile>:] that completes with the opened | 384 * `Future<RandomAccessFile>` that completes with the opened |
330 * random access file. [RandomAccessFile]s must be closed using the | 385 * random access file. [RandomAccessFile]s must be closed using the |
331 * [RandomAccessFile.close] method. | 386 * [RandomAccessFile.close] method. |
332 * | 387 * |
333 * Files can be opened in three modes: | 388 * Files can be opened in three modes: |
334 * | 389 * |
335 * [FileMode.READ]: open the file for reading. | 390 * [FileMode.READ]: open the file for reading. |
336 * | 391 * |
337 * [FileMode.WRITE]: open the file for both reading and writing and | 392 * [FileMode.WRITE]: open the file for both reading and writing and |
338 * truncate the file to length zero. If the file does not exist the | 393 * truncate the file to length zero. If the file does not exist the |
339 * file is created. | 394 * file is created. |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 * system resources. | 431 * system resources. |
377 * | 432 * |
378 * An [IOSink] for a file can be opened in two modes: | 433 * An [IOSink] for a file can be opened in two modes: |
379 * | 434 * |
380 * * [FileMode.WRITE]: truncates the file to length zero. | 435 * * [FileMode.WRITE]: truncates the file to length zero. |
381 * * [FileMode.APPEND]: sets the initial write position to the end | 436 * * [FileMode.APPEND]: sets the initial write position to the end |
382 * of the file. | 437 * of the file. |
383 * | 438 * |
384 * When writing strings through the returned [IOSink] the encoding | 439 * When writing strings through the returned [IOSink] the encoding |
385 * specified using [encoding] will be used. The returned [IOSink] | 440 * specified using [encoding] will be used. The returned [IOSink] |
386 * has an [:encoding:] property which can be changed after the | 441 * has an `encoding` property which can be changed after the |
387 * [IOSink] has been created. | 442 * [IOSink] has been created. |
388 */ | 443 */ |
389 IOSink openWrite({FileMode mode: FileMode.WRITE, | 444 IOSink openWrite({FileMode mode: FileMode.WRITE, |
390 Encoding encoding: UTF8}); | 445 Encoding encoding: UTF8}); |
391 | 446 |
392 /** | 447 /** |
393 * Read the entire file contents as a list of bytes. Returns a | 448 * Read the entire file contents as a list of bytes. Returns a |
394 * [:Future<List<int>>:] that completes with the list of bytes that | 449 * `Future<List<int>>` that completes with the list of bytes that |
395 * is the contents of the file. | 450 * is the contents of the file. |
396 */ | 451 */ |
397 Future<List<int>> readAsBytes(); | 452 Future<List<int>> readAsBytes(); |
398 | 453 |
399 /** | 454 /** |
400 * Synchronously read the entire file contents as a list of bytes. | 455 * Synchronously read the entire file contents as a list of bytes. |
401 * | 456 * |
402 * Throws a [FileSystemException] if the operation fails. | 457 * Throws a [FileSystemException] if the operation fails. |
403 */ | 458 */ |
404 List<int> readAsBytesSync(); | 459 List<int> readAsBytesSync(); |
405 | 460 |
406 /** | 461 /** |
407 * Read the entire file contents as a string using the given | 462 * Read the entire file contents as a string using the given |
408 * [Encoding]. | 463 * [Encoding]. |
409 * | 464 * |
410 * Returns a [:Future<String>:] that completes with the string once | 465 * Returns a `Future<String>` that completes with the string once |
411 * the file contents has been read. | 466 * the file contents has been read. |
412 */ | 467 */ |
413 Future<String> readAsString({Encoding encoding: UTF8}); | 468 Future<String> readAsString({Encoding encoding: UTF8}); |
414 | 469 |
415 /** | 470 /** |
416 * Synchronously read the entire file contents as a string using the | 471 * Synchronously read the entire file contents as a string using the |
417 * given [Encoding]. | 472 * given [Encoding]. |
418 * | 473 * |
419 * Throws a [FileSystemException] if the operation fails. | 474 * Throws a [FileSystemException] if the operation fails. |
420 */ | 475 */ |
421 String readAsStringSync({Encoding encoding: UTF8}); | 476 String readAsStringSync({Encoding encoding: UTF8}); |
422 | 477 |
423 /** | 478 /** |
424 * Read the entire file contents as lines of text using the given | 479 * Read the entire file contents as lines of text using the given |
425 * [Encoding]. | 480 * [Encoding]. |
426 * | 481 * |
427 * Returns a [:Future<List<String>>:] that completes with the lines | 482 * Returns a `Future<List<String>>` that completes with the lines |
428 * once the file contents has been read. | 483 * once the file contents has been read. |
429 */ | 484 */ |
430 Future<List<String>> readAsLines({Encoding encoding: UTF8}); | 485 Future<List<String>> readAsLines({Encoding encoding: UTF8}); |
431 | 486 |
432 /** | 487 /** |
433 * Synchronously read the entire file contents as lines of text | 488 * Synchronously read the entire file contents as lines of text |
434 * using the given [Encoding]. | 489 * using the given [Encoding]. |
435 * | 490 * |
436 * Throws a [FileSystemException] if the operation fails. | 491 * Throws a [FileSystemException] if the operation fails. |
437 */ | 492 */ |
438 List<String> readAsLinesSync({Encoding encoding: UTF8}); | 493 List<String> readAsLinesSync({Encoding encoding: UTF8}); |
439 | 494 |
440 /** | 495 /** |
441 * Write a list of bytes to a file. | 496 * Write a list of bytes to a file. |
442 * | 497 * |
443 * Opens the file, writes the list of bytes to it, and closes the file. | 498 * Opens the file, writes the list of bytes to it, and closes the file. |
444 * Returns a [:Future<File>:] that completes with this [File] object once | 499 * Returns a `Future<File>` that completes with this [File] object once |
445 * the entire operation has completed. | 500 * the entire operation has completed. |
446 * | 501 * |
447 * By default [writeAsBytes] creates the file for writing and truncates the | 502 * By default [writeAsBytes] creates the file for writing and truncates the |
448 * file if it already exists. In order to append the bytes to an existing | 503 * file if it already exists. In order to append the bytes to an existing |
449 * file, pass [FileMode.APPEND] as the optional mode parameter. | 504 * file, pass [FileMode.APPEND] as the optional mode parameter. |
450 * | 505 * |
451 * If the argument [flush] is set to `true`, the data written will be | 506 * If the argument [flush] is set to `true`, the data written will be |
452 * flushed to the file system before the returned future completes. | 507 * flushed to the file system before the returned future completes. |
453 */ | 508 */ |
454 Future<File> writeAsBytes(List<int> bytes, | 509 Future<File> writeAsBytes(List<int> bytes, |
(...skipping 15 matching lines...) Expand all Loading... |
470 * Throws a [FileSystemException] if the operation fails. | 525 * Throws a [FileSystemException] if the operation fails. |
471 */ | 526 */ |
472 void writeAsBytesSync(List<int> bytes, | 527 void writeAsBytesSync(List<int> bytes, |
473 {FileMode mode: FileMode.WRITE, | 528 {FileMode mode: FileMode.WRITE, |
474 bool flush: false}); | 529 bool flush: false}); |
475 | 530 |
476 /** | 531 /** |
477 * Write a string to a file. | 532 * Write a string to a file. |
478 * | 533 * |
479 * Opens the file, writes the string in the given encoding, and closes the | 534 * Opens the file, writes the string in the given encoding, and closes the |
480 * file. Returns a [:Future<File>:] that completes with this [File] object | 535 * file. Returns a `Future<File>` that completes with this [File] object |
481 * once the entire operation has completed. | 536 * once the entire operation has completed. |
482 * | 537 * |
483 * By default [writeAsString] creates the file for writing and truncates the | 538 * By default [writeAsString] creates the file for writing and truncates the |
484 * file if it already exists. In order to append the bytes to an existing | 539 * file if it already exists. In order to append the bytes to an existing |
485 * file, pass [FileMode.APPEND] as the optional mode parameter. | 540 * file, pass [FileMode.APPEND] as the optional mode parameter. |
486 * | 541 * |
487 * If the argument [flush] is set to `true`, the data written will be | 542 * If the argument [flush] is set to `true`, the data written will be |
488 * flushed to the file system before the returned future completes. | 543 * flushed to the file system before the returned future completes. |
489 * | 544 * |
490 */ | 545 */ |
(...skipping 28 matching lines...) Expand all Loading... |
519 */ | 574 */ |
520 String get path; | 575 String get path; |
521 } | 576 } |
522 | 577 |
523 | 578 |
524 /** | 579 /** |
525 * `RandomAccessFile` provides random access to the data in a | 580 * `RandomAccessFile` provides random access to the data in a |
526 * file. | 581 * file. |
527 * | 582 * |
528 * `RandomAccessFile` objects are obtained by calling the | 583 * `RandomAccessFile` objects are obtained by calling the |
529 * [:open:] method on a [File] object. | 584 * `open` method on a [File] object. |
530 * | 585 * |
531 * A `RandomAccessFile` have both asynchronous and synchronous | 586 * A `RandomAccessFile` have both asynchronous and synchronous |
532 * methods. The asynchronous methods all return a `Future` | 587 * methods. The asynchronous methods all return a `Future` |
533 * whereas the synchronous methods will return the result directly, | 588 * whereas the synchronous methods will return the result directly, |
534 * and block the current isolate until the result is ready. | 589 * and block the current isolate until the result is ready. |
535 * | 590 * |
536 * At most one asynchronous method can be pending on a given `RandomAccessFile` | 591 * At most one asynchronous method can be pending on a given `RandomAccessFile` |
537 * instance at the time. If an asynchronous method is called when one is | 592 * instance at the time. If an asynchronous method is called when one is |
538 * already in progress a [FileSystemException] is thrown. | 593 * already in progress a [FileSystemException] is thrown. |
539 * | 594 * |
540 * If an asynchronous method is pending it is also not possible to call any | 595 * If an asynchronous method is pending it is also not possible to call any |
541 * synchronous methods. This will also throw a [FileSystemException]. | 596 * synchronous methods. This will also throw a [FileSystemException]. |
542 */ | 597 */ |
543 abstract class RandomAccessFile { | 598 abstract class RandomAccessFile { |
544 /** | 599 /** |
545 * Closes the file. Returns a [:Future<RandomAccessFile>:] that | 600 * Closes the file. Returns a `Future<RandomAccessFile>` that |
546 * completes with this RandomAccessFile when it has been closed. | 601 * completes with this RandomAccessFile when it has been closed. |
547 */ | 602 */ |
548 Future<RandomAccessFile> close(); | 603 Future<RandomAccessFile> close(); |
549 | 604 |
550 /** | 605 /** |
551 * Synchronously closes the file. | 606 * Synchronously closes the file. |
552 * | 607 * |
553 * Throws a [FileSystemException] if the operation fails. | 608 * Throws a [FileSystemException] if the operation fails. |
554 */ | 609 */ |
555 void closeSync(); | 610 void closeSync(); |
556 | 611 |
557 /** | 612 /** |
558 * Reads a byte from the file. Returns a [:Future<int>:] that | 613 * Reads a byte from the file. Returns a `Future<int>` that |
559 * completes with the byte, or with -1 if end-of-file has been reached. | 614 * completes with the byte, or with -1 if end-of-file has been reached. |
560 */ | 615 */ |
561 Future<int> readByte(); | 616 Future<int> readByte(); |
562 | 617 |
563 /** | 618 /** |
564 * Synchronously reads a single byte from the file. If end-of-file | 619 * Synchronously reads a single byte from the file. If end-of-file |
565 * has been reached -1 is returned. | 620 * has been reached -1 is returned. |
566 * | 621 * |
567 * Throws a [FileSystemException] if the operation fails. | 622 * Throws a [FileSystemException] if the operation fails. |
568 */ | 623 */ |
(...skipping 12 matching lines...) Expand all Loading... |
581 */ | 636 */ |
582 List<int> readSync(int bytes); | 637 List<int> readSync(int bytes); |
583 | 638 |
584 /** | 639 /** |
585 * Reads into an existing [List<int>] from the file. If [start] is present, | 640 * Reads into an existing [List<int>] from the file. If [start] is present, |
586 * the bytes will be filled into [buffer] from at index [start], otherwise | 641 * the bytes will be filled into [buffer] from at index [start], otherwise |
587 * index 0. If [end] is present, the [end] - [start] bytes will be read into | 642 * index 0. If [end] is present, the [end] - [start] bytes will be read into |
588 * [buffer], otherwise up to [buffer.length]. If [end] == [start] nothing | 643 * [buffer], otherwise up to [buffer.length]. If [end] == [start] nothing |
589 * happens. | 644 * happens. |
590 * | 645 * |
591 * Returns a [:Future<int>:] that completes with the number of bytes read. | 646 * Returns a `Future<int>` that completes with the number of bytes read. |
592 */ | 647 */ |
593 Future<int> readInto(List<int> buffer, [int start = 0, int end]); | 648 Future<int> readInto(List<int> buffer, [int start = 0, int end]); |
594 | 649 |
595 /** | 650 /** |
596 * Synchronously reads into an existing [List<int>] from the file. If [start] | 651 * Synchronously reads into an existing [List<int>] from the file. If [start] |
597 * is present, the bytes will be filled into [buffer] from at index [start], | 652 * is present, the bytes will be filled into [buffer] from at index [start], |
598 * otherwise index 0. If [end] is present, the [end] - [start] bytes will be | 653 * otherwise index 0. If [end] is present, the [end] - [start] bytes will be |
599 * read into [buffer], otherwise up to [buffer.length]. If [end] == [start] | 654 * read into [buffer], otherwise up to [buffer.length]. If [end] == [start] |
600 * nothing happens. | 655 * nothing happens. |
601 * | 656 * |
602 * Throws a [FileSystemException] if the operation fails. | 657 * Throws a [FileSystemException] if the operation fails. |
603 */ | 658 */ |
604 int readIntoSync(List<int> buffer, [int start = 0, int end]); | 659 int readIntoSync(List<int> buffer, [int start = 0, int end]); |
605 | 660 |
606 /** | 661 /** |
607 * Writes a single byte to the file. Returns a | 662 * Writes a single byte to the file. Returns a |
608 * [:Future<RandomAccessFile>:] that completes with this | 663 * `Future<RandomAccessFile>` that completes with this |
609 * RandomAccessFile when the write completes. | 664 * RandomAccessFile when the write completes. |
610 */ | 665 */ |
611 Future<RandomAccessFile> writeByte(int value); | 666 Future<RandomAccessFile> writeByte(int value); |
612 | 667 |
613 /** | 668 /** |
614 * Synchronously writes a single byte to the file. Returns the | 669 * Synchronously writes a single byte to the file. Returns the |
615 * number of bytes successfully written. | 670 * number of bytes successfully written. |
616 * | 671 * |
617 * Throws a [FileSystemException] if the operation fails. | 672 * Throws a [FileSystemException] if the operation fails. |
618 */ | 673 */ |
619 int writeByteSync(int value); | 674 int writeByteSync(int value); |
620 | 675 |
621 /** | 676 /** |
622 * Writes from a [List<int>] to the file. It will read the buffer from index | 677 * Writes from a [List<int>] to the file. It will read the buffer from index |
623 * [start] to index [end]. If [start] is omitted, it'll start from index 0. | 678 * [start] to index [end]. If [start] is omitted, it'll start from index 0. |
624 * If [end] is omitted, it will write to end of [buffer]. | 679 * If [end] is omitted, it will write to end of [buffer]. |
625 * | 680 * |
626 * Returns a [:Future<RandomAccessFile>:] that completes with this | 681 * Returns a `Future<RandomAccessFile>` that completes with this |
627 * [RandomAccessFile] when the write completes. | 682 * [RandomAccessFile] when the write completes. |
628 */ | 683 */ |
629 Future<RandomAccessFile> writeFrom( | 684 Future<RandomAccessFile> writeFrom( |
630 List<int> buffer, [int start = 0, int end]); | 685 List<int> buffer, [int start = 0, int end]); |
631 | 686 |
632 /** | 687 /** |
633 * Synchronously writes from a [List<int>] to the file. It will read the | 688 * Synchronously writes from a [List<int>] to the file. It will read the |
634 * buffer from index [start] to index [end]. If [start] is omitted, it'll | 689 * buffer from index [start] to index [end]. If [start] is omitted, it'll |
635 * start from index 0. If [end] is omitted, it will write to the end of | 690 * start from index 0. If [end] is omitted, it will write to the end of |
636 * [buffer]. | 691 * [buffer]. |
637 * | 692 * |
638 * Throws a [FileSystemException] if the operation fails. | 693 * Throws a [FileSystemException] if the operation fails. |
639 */ | 694 */ |
640 void writeFromSync(List<int> buffer, [int start = 0, int end]); | 695 void writeFromSync(List<int> buffer, [int start = 0, int end]); |
641 | 696 |
642 /** | 697 /** |
643 * Writes a string to the file using the given [Encoding]. Returns a | 698 * Writes a string to the file using the given [Encoding]. Returns a |
644 * [:Future<RandomAccessFile>:] that completes with this | 699 * `Future<RandomAccessFile>` that completes with this |
645 * RandomAccessFile when the write completes. | 700 * RandomAccessFile when the write completes. |
646 */ | 701 */ |
647 Future<RandomAccessFile> writeString(String string, | 702 Future<RandomAccessFile> writeString(String string, |
648 {Encoding encoding: UTF8}); | 703 {Encoding encoding: UTF8}); |
649 | 704 |
650 /** | 705 /** |
651 * Synchronously writes a single string to the file using the given | 706 * Synchronously writes a single string to the file using the given |
652 * [Encoding]. | 707 * [Encoding]. |
653 * | 708 * |
654 * Throws a [FileSystemException] if the operation fails. | 709 * Throws a [FileSystemException] if the operation fails. |
655 */ | 710 */ |
656 void writeStringSync(String string, | 711 void writeStringSync(String string, |
657 {Encoding encoding: UTF8}); | 712 {Encoding encoding: UTF8}); |
658 | 713 |
659 /** | 714 /** |
660 * Gets the current byte position in the file. Returns a | 715 * Gets the current byte position in the file. Returns a |
661 * [:Future<int>:] that completes with the position. | 716 * `Future<int>` that completes with the position. |
662 */ | 717 */ |
663 Future<int> position(); | 718 Future<int> position(); |
664 | 719 |
665 /** | 720 /** |
666 * Synchronously gets the current byte position in the file. | 721 * Synchronously gets the current byte position in the file. |
667 * | 722 * |
668 * Throws a [FileSystemException] if the operation fails. | 723 * Throws a [FileSystemException] if the operation fails. |
669 */ | 724 */ |
670 int positionSync(); | 725 int positionSync(); |
671 | 726 |
672 /** | 727 /** |
673 * Sets the byte position in the file. Returns a | 728 * Sets the byte position in the file. Returns a |
674 * [:Future<RandomAccessFile>:] that completes with this | 729 * `Future<RandomAccessFile>` that completes with this |
675 * RandomAccessFile when the position has been set. | 730 * RandomAccessFile when the position has been set. |
676 */ | 731 */ |
677 Future<RandomAccessFile> setPosition(int position); | 732 Future<RandomAccessFile> setPosition(int position); |
678 | 733 |
679 /** | 734 /** |
680 * Synchronously sets the byte position in the file. | 735 * Synchronously sets the byte position in the file. |
681 * | 736 * |
682 * Throws a [FileSystemException] if the operation fails. | 737 * Throws a [FileSystemException] if the operation fails. |
683 */ | 738 */ |
684 void setPositionSync(int position); | 739 void setPositionSync(int position); |
685 | 740 |
686 /** | 741 /** |
687 * Truncates (or extends) the file to [length] bytes. Returns a | 742 * Truncates (or extends) the file to [length] bytes. Returns a |
688 * [:Future<RandomAccessFile>:] that completes with this | 743 * `Future<RandomAccessFile>` that completes with this |
689 * RandomAccessFile when the truncation has been performed. | 744 * RandomAccessFile when the truncation has been performed. |
690 */ | 745 */ |
691 Future<RandomAccessFile> truncate(int length); | 746 Future<RandomAccessFile> truncate(int length); |
692 | 747 |
693 /** | 748 /** |
694 * Synchronously truncates (or extends) the file to [length] bytes. | 749 * Synchronously truncates (or extends) the file to [length] bytes. |
695 * | 750 * |
696 * Throws a [FileSystemException] if the operation fails. | 751 * Throws a [FileSystemException] if the operation fails. |
697 */ | 752 */ |
698 void truncateSync(int length); | 753 void truncateSync(int length); |
699 | 754 |
700 /** | 755 /** |
701 * Gets the length of the file. Returns a [:Future<int>:] that | 756 * Gets the length of the file. Returns a `Future<int>` that |
702 * completes with the length in bytes. | 757 * completes with the length in bytes. |
703 */ | 758 */ |
704 Future<int> length(); | 759 Future<int> length(); |
705 | 760 |
706 /** | 761 /** |
707 * Synchronously gets the length of the file. | 762 * Synchronously gets the length of the file. |
708 * | 763 * |
709 * Throws a [FileSystemException] if the operation fails. | 764 * Throws a [FileSystemException] if the operation fails. |
710 */ | 765 */ |
711 int lengthSync(); | 766 int lengthSync(); |
712 | 767 |
713 /** | 768 /** |
714 * Flushes the contents of the file to disk. Returns a | 769 * Flushes the contents of the file to disk. Returns a |
715 * [:Future<RandomAccessFile>:] that completes with this | 770 * `Future<RandomAccessFile>` that completes with this |
716 * RandomAccessFile when the flush operation completes. | 771 * RandomAccessFile when the flush operation completes. |
717 */ | 772 */ |
718 Future<RandomAccessFile> flush(); | 773 Future<RandomAccessFile> flush(); |
719 | 774 |
720 /** | 775 /** |
721 * Synchronously flushes the contents of the file to disk. | 776 * Synchronously flushes the contents of the file to disk. |
722 * | 777 * |
723 * Throws a [FileSystemException] if the operation fails. | 778 * Throws a [FileSystemException] if the operation fails. |
724 */ | 779 */ |
725 void flushSync(); | 780 void flushSync(); |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 sb.write(": $osError"); | 945 sb.write(": $osError"); |
891 if (path != null) { | 946 if (path != null) { |
892 sb.write(", path = '$path'"); | 947 sb.write(", path = '$path'"); |
893 } | 948 } |
894 } else if (path != null) { | 949 } else if (path != null) { |
895 sb.write(": $path"); | 950 sb.write(": $path"); |
896 } | 951 } |
897 return sb.toString(); | 952 return sb.toString(); |
898 } | 953 } |
899 } | 954 } |
OLD | NEW |