Dateiströme
Basic
Ekkart Kleinod
•
Ströme, z.B. TextInputStream, werden mit dem Schließen über closeInput() nicht neu initialisert. Das heißt, nur Schließen allein reicht nicht aus, um den Strom mit einer neuen Datei zu öffnen.
Versucht man dies, werden leere Zeilen eingelesen.
Schließen eines nicht geöffneten Stroms führt zum Fehler, daher vorher abfragen.
' Variablen deklarieren Dim oFileAccess As Object Dim oTextInputStream As Object ' Input Stream aus Datei initialisieren oFileAccess = createUnoService("com.sun.star.ucb.SimpleFileAccess") oTextInputStream = createUnoService("com.sun.star.io.TextInputStream") oTextInputStream.setInputStream(oFileAccess.openFileRead("filename")) oTextInputStream.setEncoding("windows-1252") ' Stream schliessen If (Not IsNull(oTextInputStream)) Then oTextInputStream.closeInput() End If ' erneutes Einlesen: alles neu initialisieren ' Input Stream aus Datei initialisieren oFileAccess = createUnoService("com.sun.star.ucb.SimpleFileAccess") oTextInputStream = createUnoService("com.sun.star.io.TextInputStream") oTextInputStream.setInputStream(oFileAccess.openFileRead("filename")) oTextInputStream.setEncoding("windows-1252") ' Stream schliessen If (Not IsNull(oTextInputStream)) Then oTextInputStream.closeInput() End If