B4J Question How to append Text to text file???

Phil Thompson

Member
Licensed User
Longtime User
Method 1
Sample found
1) Dim Writer As TextWriter
2) Writer.Initialize(File.OpenOutput(File.DirData, "1.txt", True))
3) Writer.WriteLine("This is a line of Text.")
4) Writer.Close

Line numbers added for clarity only
Line 2 fails with an error that says too many parameters.
Sample modified for B4J(DirData) and append

Method 2
Dir = File.DirData("NetWatch")
FName = "Netlog.txt"
File.OpenOutput(Dir,FName,True)
File.WriteString(Dir,FName, LogString)

OverWites File

What am I doing wrong here
 
Last edited:

MarkusR

Well-Known Member
Licensed User
Longtime User
Method 1 using File.DirData(...) wrong

Method 2
u need to write into your stream, see Post from Daestrum with TextWriter
B4X:
    Dim Dir As String
    Dir = File.DirData("NetWatch")
 
    Dim FName As String
    FName = "Netlog.txt"
    Dim stream As OutputStream = File.OpenOutput(Dir,FName,True)
 
    Dim LogString As String 
    LogString = "ABC " &  DateUtils.TicksToString( DateTime.Now) & Chr(13) & Chr(10)


    Dim Data() As Byte
    Data = LogString.GetBytes("UTF8")

    stream.WriteBytes(Data,0,Data.Length)

    stream.Close
 
Last edited:
Upvote 0

Daestrum

Expert
Licensed User
Longtime User
Your first example works providing you give it the directory name to use/create
(On Windows) myDataDirectory will be created/used in C:\Users\yourUserName\AppData\Roaming\
ie C:\Users\yourUserName\AppData\Roaming\myDataDirectory
and the file will reside within that C:\Users\yourUserName\AppData\Roaming\myDataDirectory\1.txt

B4X:
Dim Writer As TextWriter
Writer.Initialize(File.OpenOutput(File.DirData("myDataDirectory"), "1.txt", True))
Writer.WriteLine("This is a line of Text.")
Writer.Flush
Writer.Close
 
Last edited:
Upvote 0
Top