heres an old classmethod I have used to read multiple lines, and then
return it into an array
ClassMethod ReadFile(sFilename As %String = "", ByRef ReturnArray As
%String = "")
{
#; maximum line length to be expected
#define MAXLENGTH 32000
kill ReturnArray
; set sFilename="C:\vts\FTP Dir\work\W1252.DWN"
set oFile=##class(%File).%New(sFilename)
#; open mode READ,STREAM read until delimiter or maxlength
if oFile.Open("RS") do
. for lNo=1:1 set nLen=$$$MAXLENGTH , sLine=oFile.Read(.nLen)
quit:nLen=-1 do // nLen = -1 means EOF
. . set ReturnArray(lNo)=sLine
do oFile.Close(),oFile.%Close() // close file, close %File instance
quit
}
call it by doing
d ##class(Utils.Files).ReadFile("myFileName.txt", .retArr)
kev