Pergunta
Henrique Dias · Jan. 18

Ler todos os arquivos de um diretório

Boa noite pessoal, tudo bem?

Estou com uma dúvida, qual seria a melhor forma de ler todos os arquivos, por exemplo CSV, de um determinado diretório?

Para ler o arquivo CSV, utilizo o ClassMethod abaixo: 

ClassMethod readCSV() As %Status
{

   set file = ##class(%File).%New("/irisdev/dataImport/teste.csv")
   set sc = file.Open("R")
   if $$$ISERR(sc) quit
   
   set count = 0

   while 'file.AtEnd {
      set count = $INCREMENT(count)
      set line = file.ReadLine()
      quit:(line="")
      write line,!
   }
   do file.Close()
}

Agradeço qualquer sugestão de vocês. 

Product version: IRIS 2020.4
20
1 0 4 87
Log in or sign up to continue

Fala Henrique, tudo certo?

Veja se isso te ajuda:

ClassMethod readCSV(pDiretorio As %String) As %Status {       
     
     Set tRS = ##class(%ResultSet).%New("%Library.File:FileSet")
     Set tSC = tRS.Execute(pDiretorio,"*.csv",,0)                 

     While (tRS.Next()) {
            Set tFile = ##Class(%FileCharacterStream).%New() 
            Set tFile.Filename = tRS.Get("Name")
            ; open e restante da implementação ....
      }
      Quit $$$OK      
}

Abraço.