digitalmars.D.learn - Copying an std.stdio.File into another one
- 0xEAB (10/20) May 21 2018 What's the correct way to copy a `File` into another one in D?
- rikki cattermole (4/30) May 21 2018 I would probably start by reading it byChunk and writing it out as a
What's the correct way to copy a `File` into another one in D? If `LockingTextReader` wasn't undocumented, I'd have gone for that approach:import std.algorithm.mutation : copy; import std.stdio : File, LockingTextReader; void main() { auto a = File("a.txt", "r"); auto b = File("b.txt", "w"); a.LockingTextReader.copy(b.lockingTextWriter); }Side-note: Although the example code suggest otherwise, I'm not talking about copying actual files on disk. In such a case I'd just use `std.file.copy` ;) So, just imagine `a` were `stdout` of process pipe. Kind regards, Elias
May 21 2018
On 21/05/2018 11:50 PM, 0xEAB wrote:What's the correct way to copy a `File` into another one in D? If `LockingTextReader` wasn't undocumented, I'd have gone for that approach:I would probably start by reading it byChunk and writing it out as a rawWrite or something along those lines. That way its using a nice buffer (to limit memory usage).import std.algorithm.mutation : copy; import std.stdio : File, LockingTextReader; void main() { auto a = File("a.txt", "r"); auto b = File("b.txt", "w"); a.LockingTextReader.copy(b.lockingTextWriter); }Side-note: Although the example code suggest otherwise, I'm not talking about copying actual files on disk. In such a case I'd just use `std.file.copy` ;) So, just imagine `a` were `stdout` of process pipe. Kind regards, Elias
May 21 2018