Android Question TextReader does not like HTML ?

MitchBu

Well-Known Member
Licensed User
Longtime User
I am trying to read an HTML file with TextReader, using code modified from a post in this forum :

B4X:
Sub ReadTextReader
    Dim TextRd As TextReader 
    TextRd.Initialize(File.OpenInput(File.DirAssets, "Register.html"))
        Dim line As String 
    line = TextRd .ReadLine     
    page_registre = line
    Do While line <> Null             
        line = TextRd .ReadLine 
        page_registre = page_registre + line
    Loop 
    TextRd .Close
End Sub

page_registre is a string declared in globals.

When I run this, I get the error below. Is TextReader expecting numerical values ? Confused.

Error occurred on line: 335 (Main)
java.lang.NumberFormatException: Invalid double: "<!DOCTYPE html>"
at java.lang.StringToReal.invalidReal(StringToReal.java:63)
at java.lang.StringToReal.initialParse(StringToReal.java:114)
at java.lang.StringToReal.parseDouble(StringToReal.java:282)
at java.lang.Double.parseDouble(Double.java:301)
at anywheresoftware.b4a.debug.RDebugUtils.numberCast(RDebugUtils.java:50)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:708)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:337)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:247)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:157)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:153)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:78)
at android.view.View.performClick(View.java:5214)
at android.view.View$PerformClick.run(View.java:20978)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6134)



Will appreciate some insight.

TIA
 

klaus

Expert
Licensed User
Longtime User
I think that this is the problem:
page_registre = page_registre + line
it should be, string concatenation:
page_registre = page_registre & line
if page_registre and line represent numbers as strings and you want to add these numbers you could use, but for me not good practice:
page_registre = (page_registre + line)
 
Upvote 0
Top