Skip to content

Modern Fs ReadAllLines

Paul Squires edited this page Oct 24, 2026 · 7 revisions

Home › Filesystem › File Streams › ReadAllLines

ReadAllLines

Reads a file's lines into an Array, without their line endings; returns the count.

Syntax

ReadAllLines( p, lines )
ReadAllLines( p, lines, enc [, mode ] )   '' in a TextEncoding; the same lines in every encoding

Notes

  • FsResultLong -- fills Array( of ustring )
  • Without an encoding, a file that starts with a UTF-32 byte-order mark (FF FE 00 00 or 00 00 FE FF) fails with FS_UNSUPPORTED rather than being read as UTF-16 or UTF-8.

Examples

#import "std/containers"
#import "std/fs"
using fs, containers

'' Everything below happens inside a temp directory of its own, and is
'' removed at the end
dim td as FsResultUStr = CreateTempDir( "fbdoc" )
dim as ustring dir_ = td.Value( )

dim as ustring p = PathJoin( dir_, "f.txt" )
WriteAllText( p, "one" & chr(10) & "two" & chr(10) & "three" )

dim lines_ as Array( of ustring )
dim r as FsResultLong = ReadAllLines( p, lines_ )

print r.IsOk( )              '' true
print r.Value( )             '' 3 -- the count comes back as the value
print lines_[ 1 ]            '' two

'' The line endings are not included, and CRLF and LF both split

RemoveDirAll( dir_ )

Library: Filesystem Library
Category: File Streams
Documented under: File Operations

Clone this wiki locally