Italian LEGGERE FILE DI TESTO

max611

Active Member
Licensed User
ciao a tutti, mi sto cimentando nel leggrere un file di testo da salvare in una variabile riga per riga
es:
il file txt
prova
prova1
prova2
prova3

la variabile
leggi(1)=prova
leggi(2)=prova1
leggi(3)=prova2
leggi(4)=prova3

qualche aiuto:(
 

juvanum

Active Member
Licensed User
ciao a tutti, mi sto cimentando nel leggrere un file di testo da salvare in una variabile riga per riga
es:
il file txt
prova
prova1
prova2
prova3

la variabile
leggi(1)=prova
leggi(2)=prova1
leggi(3)=prova2
leggi(4)=prova3

qualche aiuto:(
prova cosi
B4X:
Dim varprova As List
Dim var1 As String
Dim var2 As String
Dim var3 As String
dim FileDir as String

FileDir = File.DirRootExternal & "/download"

varprova.Initialize
If File.Exists(FileDir,"prova.txt") Then
    varprova =  File.ReadList(FileDir, "prova.txt")  
    var1=varprova.Get(0)
    var2=varprova.Get(1)
    var3=varprova.Get(2)
    Log(var1 &".. "& var2 &".. "&var3)  
Else
    varprova.Add("prova1")
    varprova.Add("prova2")  
    varprova.Add("prova3")  
    File.WriteList(FileDir,"prova.txt",varprova)
End If
Return
 

imgsimonebiliato

Well-Known Member
Licensed User
Con questo leggi la prima riga del testo:

B4X:
Dim f as string
f = Regex.Split(Chr(13), File.ReadString(pathFile , "INFO.txt"))(0)
Poi, per leggere tutte le altre, basta inserire il codice in un ciclo e sostituire lo "0"
 

giannimaione

Well-Known Member
Licensed User
????
B4X:
Dim Lista as List
Lista.Initialize
Lista.Clear
Dim I as Int
Dim Reader As TextReader
Reader.Initialize(File.OpenInput("cartella", "NomeFile.txt"))
Dim LEGGO As String
LEGGO = Reader.ReadLine
  Do While LEGGO <> Null
       I=I+1
       Lista.Add (LEGGO)
       LOG("Riga " & I & "= " & LEGGO
       LEGGO = Reader.ReadLine
  Loop
Reader.Close
File.Delete("cartella","NomeFile.txt"):'cancella il file
' per CARTELLA intendo File.DirRootExternal o simile
 
Last edited:

stefanoxjx

Active Member
Licensed User
Scusate se mi intrometto nel discorso, ma una domanda mi sorge spontanea.
Bello il sistema di leggere un file e piazzarlo in una list, ma se il file è corposo non c'è il rischio di andare a riempire tutta la ram?
In tal caso non converrebbe leggere riga per riga come indicato da imgsimonebiliato ed elaborare una riga alla volta!?
Lo so che ci sono i telefoni con millemila giga di ram, però ho sempre questo terribile dubbio.
 
Last edited:

SSDM71

Active Member
Licensed User
Non preoccuparti di ciò, ci pensa il SO a gestire il tutto senza utilizzare la memoria. Comunque è sempre buona cosa cercare la soluzione migliore
 
Top