<div dir="ltr">Quinn, thanks for the example. I agree that Foundation makes it easier by loading the data fully into memory. I still don&#39;t understand if it&#39;s currently actually *possible* to use non C-based solutions in Swift which use streaming. I wanted to use NSFileHandle (for a use case that requires streaming) and realized that this is an API that cannot really be used in Swift because it&#39;s based on Objective-C exceptions. Are there any alternatives?<div><br></div><div>Thanks,</div><div>  Matthias</div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font face="arial, helvetica, sans-serif"><br></font><table width="100%" bgcolor="#efefef" style="color:rgb(102,102,102);font-size:11px;padding:3px 8px;border-top-width:1px;border-top-style:solid;border-top-color:rgb(170,170,170);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(170,170,170)"><tbody><tr><td align="left"><b style="color:rgb(119,119,119)"><font face="arial, helvetica, sans-serif">Matthias Zenger</font></b></td><td align="right"><a href="mailto:matthias@objecthub.net" style="text-decoration:none;color:rgb(102,102,102)" target="_blank"><font face="arial, helvetica, sans-serif">matthias@objecthub.net</font></a></td></tr></tbody></table></div><div><br></div></div></div></div>
<br><div class="gmail_quote">On Mon, May 23, 2016 at 10:24 AM, Quinn &quot;The Eskimo!&quot; via swift-users <span dir="ltr">&lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
On 18 May 2016, at 23:02, John Myers via swift-users &lt;<a href="mailto:swift-users@swift.org">swift-users@swift.org</a>&gt; wrote:<br>
<br>
</span><span class="">&gt; I&#39;ve been having trouble figuring out how to read and write data to a textfile, and not finding much out there for Swift on Linux.<br>
<br>
</span>Sorry about being complicit in the one-shot vs streaming I/O diversion.  It’s true that Swift’s streaming I/O story is in flux and I’m sure that Jens and co. will have fun designing its replacement, but right now I’d kinda like to bring this back to the original question.<br>
<br>
Below is a snippet that shows how to process a file line-by-line using Foundation APIs.  As you can see, if you’re just trying to runs simple tests on the lines in a text file, doing this with Foundation is much easier than doing it with the current lower-level APIs.<br>
<br>
---------------------------------------------------------------------------<br>
import Foundation<br>
<br>
func quoteFile(atPath filePath: String) throws {<br>
    let input = try NSString(contentsOfFile: filePath, encoding: NSUTF8StringEncoding)<br>
    let inputLines = input.components(separatedBy: &quot;\n&quot;)<br>
    var outputLines: [String] = []<br>
    for line in inputLines {<br>
        let newLine = &quot;&gt; &quot; + line<br>
        outputLines.append(newLine)<br>
    }<br>
    let output = outputLines.joined(separator: &quot;\n&quot;)<br>
    try output.write(toFile: filePath, atomically: true, encoding: NSUTF8StringEncoding)<br>
}<br>
<br>
try! quoteFile(atPath: &quot;/Users/quinn/victim.txt&quot;)<br>
---------------------------------------------------------------------------<br>
<br>
I tested this on OS X (don’t have Linux set up, sorry) with the “2016-05-09 (a)” Swift development snapshot.<br>
<span class="im HOEnZb"><br>
Share and Enjoy<br>
--<br>
Quinn &quot;The Eskimo!&quot;                    &lt;<a href="http://www.apple.com/developer/" rel="noreferrer" target="_blank">http://www.apple.com/developer/</a>&gt;<br>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware<br>
<br>
<br>
</span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br>
</div></div></blockquote></div><br></div>