1.Files (Core)
Liste der Types:
File
InputStream
OutputStream
TextReader
TextWriter
File ist ein vordefiniertes Objekt mit Methoden zur Dateihandlung.
Das Mit
Text Dateien arbeiten Tutorial und das Englische Originaltutorial Text
files tutorial decken fast alle File-Methoden und File-Konzepte ab.
Events:
Keine
Members:
Combine (Dir As String,
FileName As String)
As String
Copy (DirSource As
String, FileSource As
String, DirTarget As
String, FileTarget As
String)
Copy2 (In As
java.io.InputStream, Out As
java.io.OutputStream)
Delete (Dir As String, FileName As
String) As Boolean
DirAssets As String [read only]
DirDefaultExternal As String [read
only]
DirInternal As
String [read only]
DirInternalCache As String [read
only]
DirRootExternal As String [read only]
Exists (Dir As String, FileName As
String) As Boolean
ExternalReadable As Boolean [read
only]
ExternalWritable As Boolean [read
only]
GetText (Dir As
String, FileName As
String) As String
IsDirectory (Dir As
String, FileName As
String) As Boolean
LastModified
(Dir As String,
FileName As String)
As Long
ListFiles (Dir As
String) As List
MakeDir (Parent As
String, Dir As
String)
OpenInput (Dir As
String, FileName As
String) As InputStream
OpenOutput (Dir As
String, FileName As
String, Append As
Boolean) As
OutputStream
ReadList (Dir As
String, FileName As
String) As List
ReadMap (Dir As
String, FileName As
String) As Map
ReadMap2
(Dir As String,
FileName As String,
Map As Map) As Map
ReadString (Dir As
String, FileName As
String) As String
Size (Dir As String, FileName As
String) As Long
WriteList (Dir As
String, FileName As
String, List
As List)
WriteMap (Dir As
String, FileName As
String, Map
As Map)
WriteString (Dir As
String, FileName As
String, Text As
String)
Members Erklärung:
Combine (Dir As String, FileName As String) As String
Gibt den vollen Dateinamen
der gegebenen Datei zurück.
Diese Methode ist nicht für Dateien im Assets Ordner gültig.
Copy (DirSource As String, FileSource As String, DirTarget As String, FileTarget As String)
Kopiert die gegebene
Quelldatei (FileSource) im DirSource Ordner in den DieTarget Ordner mit dem
Namen (FileTarget).
Beachten Sie, daß man keine Dateien in den
Assets Ordner kopieren kann.
Copy2 (In As java.io.InputStream, Out As java.io.OutputStream)
Kopiert alle Daten die sich
im Eingangsstrom (input stream) in den Ausgangsstrom (output stream).
Der Input Stream wird am Ende automatisch geschlossen.
Delete (Dir As String, FileName As String) As Boolean
Löscht die gegebene Datei
(FileName). Wenn FileName ein Ordner ist, muß dieser leer sein um gelöscht werden zu können.
Der Rückgabewert ist gleich True wenn die Datei erfolgreich gelöscht wurde.
Dateien im Assets Ordner können nicht gelöscht werden.
DirAssets As String [read only]
Gibt eine Referenz
(Ordnernamen) zurück zu den Dateien die mit dem Files Manager zugefügt wurden.
Diese Dateien sind nur lesbar (read-only).
DirDefaultExternal As String [read only]
Gibt den externen
Standardordner (Defaultordner) der Applikation die auf dem Packagenamen
basiert.
Der Ordner wird erstellt wenn nötig.
DirInternal As String [read only]
Gibt den Ordner im internen
Gerätespeicher zurück, der zum speichern privater Applikationsdaten verwendet
wird.
DirInternalCache As String [read only]
Gibt den Ordner im
internen Gerätespeicher zurück, der zum speichern privater
Applikationscachedaten (application cache data) verwendet wird
Diese Daten können automatisch gelöscht werden wenn das Gerät unter
Speichermangel leidet.
DirRootExternal As String [read only]
Gibt den Wurzelordner
des externen Speichermediums zurück.
Exists (Dir As String, FileName As String) As Boolean
Gibt True zurück wenn die
gegebene Datei im gegebenen Ordner existiert.
Achtung: Das Android Dateisystem unterscheidet Groß- und Kleinschrift.
Beispiel:
If File.Exists(File.DirDefaultExternal, "MyFile.txt") Then ...
ExternalReadable As Boolean [read only]
Testet ob das externe
Speichermedium lesbar ist.
ExternalWritable As Boolean [read only]
Testet ob das externe
Speichermedium schreibbar ist /und auch lesbar).
GetText (Dir As String, FileName As String) As String
Liest die ganze Datei und
gibt den Text zurück.
Es ist vorweggenommen das die Datei mit UTF8 kodiert wurde.
IsDirectory (Dir As String, FileName As String) As Boolean
Testet ob FileName ein Ordner
ist.
LastModified (Dir As String, FileName As String) As Long
Gibt das Datum zurück wann
die gegebene Datei das letzte geändert wurde.
Diese Methode ist nicht gültig für den Assets Ordner.
Beispiel:
Dim d As Long
d = File.LastModified(File.DirRootExternal, "1.txt")
Msgbox(DateTime.Date(d), "Last modified")
ListFiles (Dir As String) As List
Gibt eine nur lesbare (read only)
Liste zurück mit allen Dateien und Ordnern die im gegebenen Ordner gespeichert
sind.
Eine nicht initialisierte Liste wird zurückgegeben wenn der Ordner nicht
erreichbar ist.
MakeDir (Parent As String, Dir As String)
Erstellt den gegebenen Ordner
(erstellet neue Ordner nach Bedarf).
Beispiel:
File.MakeDir(File.DirInternal, "music/90")
OpenInput (Dir As String, FileName As String) As InputStream
Öffnet die gegebene Datei im
gegebenen Ordner zum Lesen.
Achtung: Das Android Dateisystem unterscheidet Groß- und Kleinschrift.
OpenOutput (Dir As String, FileName As String, Append As Boolean) As OutputStream
Öffnet oder erstellt die
gegebene Datei im gegebenen Ordner zum schreiben.
Wenn Append True ist, werden die neuen Daten an das Ende der gegebenen Datei
angehängt.
ReadList (Dir As String, FileName As String) As List
Leist die ganze Datei und
gibt eine Liste zurück mit allen Zeilen als Strings.
Beispiel:
Dim List1 As List
List1 = File.ReadList(File.DirDefaultExternal, "1.txt")
For i = 0 to List1.Size - 1
Log(List1.Get(i))
Next
ReadMap (Dir As String, FileName As String) As Map
Liest die ganze Datei und
behandelt jede Zeile wie ein Schlüsselwortpaar (Strings).
Siehe hier, Properties format
für mehr Informationen über das aktuelle Format.
Man kann File.WriteMap benutzen um die Map in eine Datei zu schreiben.
Achtung: Die Reihenfolge der Einträge in der Map kann verschieden sein von der
in der Datei.
ReadMap2 (Dir As String, FileName As String, Map As Map) As Map
Ähnlich
wie ReadMap. ReadMap2 fügt die Einträge zur gegebenen Map an.
Die Benutzung von ReadMap2 mit einer Map mit Einträgen erlaubt die Reihenfolge der
Einträge nach Bedarf zu erzwingen.
Beispiel:
Dim m As Map
m.Initialize
m.Put("Item #1", "")
m.Put("Item #2", "")
m = File.ReadMap2(File.DirInternal, "settings.txt", m)
ReadString (Dir As String, FileName As String) As String
Liest die ganze Datei und gibt den Inhalt als String zurück.
Beispiel:
Dim text As String
text = File.ReadString(File.DirRootExternal, "text files/1.txt")
Size (Dir As String, FileName As String) As Long
Gibt die Länge der gegebenen
Datei in Bytes zurück.
Diese Methode ist nicht für Dateien im Assets Ordner gültig.
WriteList (Dir As String, FileName As String, List As List)
Schreibt jeden Eintrag der gegebenen
Liste in eine einzige Zeile in die Datei.
Achtung: Wenn ein Eintrag den Wert CRLF enthält, wird dieser als zwei Zeilen
gespeichert (was aber zwei Einträge erstellt wenn die Datei mit ReadList zurück
gelesen wird).
Alle Werte werden zu Strings konvertiert.
Beispiel:
File.WriteList (File.DirInternal, "mylist.txt", List1)
WriteMap (Dir As String, FileName As String, Map As Map)
Erstellt eine neue Datei und schreibt
die gegebene Map. Jedes Schlüsselwortpaar wird in eine einzige Zeile
gespeichert.
Alle Werte werden zu Strings konvertiert.
Siehe
hier, Properties format für
mehr Informationen über das aktuelle Format.
Man kann File.ReadMap benutzen um die Map von einer Datei zu lesen.
WriteString (Dir As String, FileName As String, Text As String)
Schreibt den gegebenen Text
in eine neue Dateie.
Beispiel:
File.WriteString(File.DirRootExternal, "text files/1.txt")
Ein Strom (stream) von dem man lesen kann. Normalerweise wird ein Strom
(stream) auf ein Objekt "höherer Ebene" geleitet, wie TextReader, das
das Lesen behandelt.
Man kann File.OpenInput benutzen um einen InputStream zu erhalten.
Events:
Keine
Members:
BytesAvailable
As Int
Close
InitializeFromBytesArray
(Buffer() As Byte, StartOffset As Int, MaxCount As Int)
IsInitialized
As Boolean
ReadBytes
(Buffer() As Byte, StartOffset As Int, MaxCount As Int) As Int
Members Erklärung:
Gibt eine Schätzung der
Anzahl der verfügbaren Bytes, ohne zu blockieren.
Close
InitializeFromBytesArray (Buffer() As Byte, StartOffset As Int, MaxCount As Int)
File.OpenInput
benutzen um einen InputStream zu bekommen.
Diese Methode sollte
verwendet werden, um Daten aus einem Byte-Array zu lesen.
Initialisiert den
InputStream und legt ihn aus zum lesen aus dem gegebenen Byte-Array.
StartOffset - Das
erste Byte, das gelesen werden soll.
MaxCount - Maximale
Anzahl der zu lesenden Bytes.
IsInitialized As Boolean
ReadBytes (Buffer() As Byte, StartOffset As Int, MaxCount As Int) As Int
Liest MaxCount Anzahl
an Bytes von dem Stream und schreibt sie in den gegebenen Buffer.
Das erste Byte wird ab StartOffset in den Buffer geschrieben.
Gibt die Anzahl der zur Zeit gelesenen Bytes zurück.
Gibt -1 zurück wenn es keine Bytes mehr zu lesen gibt.
Gibt ansonsten mindestens ein Byte zurück.
Beispiel:
Dim buffer(1024) As byte
count = InputStream1.ReadBytes(buffer, 0,
buffer.length)
Ein Strom (stream) in den man schreiben kann. Normalerweise wird ein Strom
(stream) auf ein Objekt "höherer Ebene" geleitet, wie TextWriter, das
das Schreiben behandelt.
Man kann File. OpenOutput benutzen um einen OutputStream zu erhalten.
Events:
Keine
Members:
Close
Flush
InitializeToBytesArray
(StartSize As Int)
IsInitialized
As Boolean
ToBytesArray
As Byte()
WriteBytes
(Buffer() As Byte, StartOffset As Int, Length As Int)
Members Erklärung:
Flush
InitializeToBytesArray (StartSize As Int)
File. OpenOutput
benutzen um einen OutputStream zu bekommen.
Diese Methode sollte
verwendet werden, um Daten in ein Byte-Array zu schreiben.
StartSize – Die
Startgröße des internen
Byte-Arrays. Die Größe wird erhöht wenn
nötig.
Gibt eine Kopie des
internen Byte-Arrays zurück. Kann nur benutzt werden wenn der OutputStream mit
InitializeToBytesArray initialisiert wurde.
WriteBytes (Buffer() As Byte, StartOffset As Int, Length As Int)
Schreibt den Buffer
in den Stream. Das erste geschriebene Byte ist Buffer(StartOffset),
und das letzte zu schreibende Byte ist Buffer(StartOffset + Length - 1).
List einen Text von einem untergeordneten Stream.
Events:
Keine
Members:
Close
Initialize (InputStream As java.io.InputStream)
Initialize2 (InputStream As java.io.InputStream,
Encoding As String)
IsInitialized
As Boolean
Read (Buffer() As Char, StartOffset As Int, Length As Int) As Int
ReadAll As String
ReadLine As String
ReadList As List
Ready As Boolean
Skip
(NumberOfCharaceters As Int) As Int
Members Erklärung:
Initialize (InputStream As java.io.InputStream)
Initialisiert den TextReader
und verbindet ihn mit dem gegebenen InputStream mit UTF8 Kodierung.
Initialize2 (InputStream As java.io.InputStream, Encoding As String)
Initialisiert den
TextReader und verbindet ihn mit dem gegebenen InputStream mit einer
spezifischen Kodierung (Encoding).
Erkannte Kodierungen:
IsInitialized As Boolean
Read (Buffer() As Char, StartOffset As Int, Length As Int) As Int
Liest Buchstaben vom Stream und
schreibt sie in den Buffer.
Liest eine Anzahl bis zu Length Buchstaben und schreibt sie in den Buffer ab
der StartOffset Stelle.
Gibt die Anzahl der zur Zeit gelesenen Bytes zurück.
Gibt -1 zurück wenn es keine Bytes mehr zu lesen gibt.
ReadAll As String
Liest den restlichen Text und
schließt den Stream.
ReadLine As String
Liest die nächste
Zeile von dem Stream. Die "new line" Buchstaben werden nicht
zurückgegeben.
Gibt Null zurück wenn es keine Buchstaben mehr zu lesen gibt.
Beispiel:
Dim Reader As TextReader
Reader.Initialize(File.OpenInput(File.InternalDir, "1.txt"))
Dim line As String
line = Reader.ReadLine
Do While line <> Null
Log(line)
line = Reader.ReadLine
Loop
Reader.Close
ReadList As List
Liest den restlichen
Text und gibt eine Liste zurück mit den Zeilen gefüllt.
Schließt den Stream am Ende
des Lesens.
Ready As Boolean
Testet ob zumindest ein
Buchstabe zum lesen bereit ist für ein nicht blockierendes Lesen.
Skip (NumberOfCharaceters As Int) As Int
Überspringt die gegebene
Anzahl Buchstaben.
Gibt die Anzahl der zur Zeit übersprungenen Buchstaben zurück (diese Anzahl
kann kleiner sein als der gegebene Wert).
Schreibt einen Text in den untergeordneten Stream.
Beispiel:
Dim Writer As TextWriter
Writer.Initialize(File.OpenOutput(File.DirDefaultExternal, "1.txt", False))
Writer.WriteLine("This is the first
line.")
Writer.WriteLine("This is the
second line.")
Writer.Close
Events:
Keine
Members:
Close
Flush
Initialize (OutputStream As java.io.OutputStream)
Initialize2 (OutputStream As java.io.OutputStream,
Encoding As String)
IsInitialized
As Boolean
Write (Text As String)
WriteLine (Text As String)
WriteList (List As List)
Members Erklärung:
Schlißt den Stream (Strom).
Flush
Initialize (OutputStream As java.io.OutputStream)
Initialisiert den
TextWriter und verbindet ihn mit dem gegebenen OutputStream mit UTF8 Kodierung.
Initialize2 (OutputStream As java.io.OutputStream, Encoding As String)
Initialisiert den
TextWriter und verbindet ihn mit dem gegebenen OutputStream mit einer
spezifischen Kodierung (Encoding).
Erkannte Kodierungen:
Schreibt den gegebenen Text
zu dem Stream.
WriteLine (Text As String)
Schreibt den gegebenen
Text zu dem Stream gefolgt von einem "new line" Buchstaben.
Beispiel:
Dim Writer As TextWriter
Writer.Initialize(File.OpenOutput(File.DirDefaultExternal,
"1.txt", False))
Writer.WriteLine("This is the first
line.")
Writer.WriteLine("This is the
second line.")
Writer.Close
WriteList (List As List)
Schreibt jeden
Eintrag der Liste in eine einzige Zeile.
Achtung: Wenn ein Eintrag den Wert CRLF enthält, wird dieser als zwei Zeilen
gespeichert (was aber zwei Einträge erstellt wenn die Datei mit ReadList zurück
gelesen wird).
Alle Werte werden zu Strings konvertiert.