Here's a little cleaner version using doseq: (use 'clojure.contrib.duck-streams)
(with-open [r (reader "doc.txt")] (doseq [line (line-seq r)] (println line))) On Wed, Jan 7, 2009 at 7:27 AM, Tom Ayerst <tom.aye...@gmail.com> wrote: > Thanks Brian. > > I finally nailed it with: > > (use '[clojure.contrib.duck-streams :only (reader)]) > > (with-open [r (reader "doc.txt")] > (dorun > (for [line (line-seq r)] (do (println line))))) > > Cheers > > Tom > > 2009/1/6 Brian Doyle <brianpdo...@gmail.com> > > >> On Tue, Jan 6, 2009 at 4:47 PM, Tom Ayerst <tom.aye...@gmail.com> wrote: >> >>> Its not the println, nor getting a reader (duckstreams is fine, I can do >>> that). Its the converting it to a seq and stepping through it printing each >>> element (which should be a line). Its the loopy, steppy bit, just for a side >>> effect; that I am messing up. >>> >>> Cheers >>> >>> Tom >> >> >> I've done this type of thing and it worked great for me. >> >> (with-open [r (clojure.contrib.duck-streams/reader "filename.txt")] >> (doseq [line (line-seq r)] >> ; do stuff with the line here >> )) >> >> Basically you'll want to use the line-seq function. Hopefully that helps. >> >> >>> 2009/1/6 Mark Volkmann <r.mark.volkm...@gmail.com> >>> >>> >>>> On Tue, Jan 6, 2009 at 5:26 PM, Tom Ayerst <tom.aye...@gmail.com> >>>> wrote: >>>> > Hi, >>>> > >>>> > How do I read and print a text file? I can read it, its the printing >>>> that >>>> > is the problem, I feel it should be obvious but I keep tripping myself >>>> up. >>>> > (The context is I need to extract data line by line, translate the >>>> line >>>> > format and save it for a legacy app) >>>> >>>> Do you just need to print to stdout? >>>> The println function does that. It puts a space between the output of >>>> each of its arguments. If you don't want that you can use the str >>>> function to concatenate a bunch of string values together. >>>> If you need something fancier, don't forget that you can access >>>> everything in java.io from Clojure. >>>> >>>> -- >>>> R. Mark Volkmann >>>> Object Computing, Inc. >>>> >>>> >>>> >>> >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---