Download the free trial version
Basic4android Video
Features
Tutorials and manuals
Showcase
Screenshots

Go Back   Android Development Forum - Basic4android > Foreign Languages > French Forum
Documentation Wiki Register Members List B4P Search Today's Posts Mark Forums Read

Fichiers texte

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 10-20-2011, 11:34 AM
klaus's Avatar
Basic4ppc Expert
 
Join Date: Oct 2007
Location: Fully, Switzerland
Posts: 4,463
Awards Showcase
Forum Contributer Beta Tester Competition Winner 
Total Awards: 3
Default Fichiers texte

Beaucoup d'applications nécessitent un accès à des données stockées de manière permanente. Les deux moyen de stockage les plus courants des fichiers et des bases de données.

Dans ce tutoriel nous traiterons les fichiers texte.

L'objet prédéfini Files (prédéfini veut dire qu'il n'est pas nécessaire de déclarer l'objet vous même) contient quelques fonctions (methods) utiles pour travailler avec des fichiers et qui sont simples à utiliser.

Emplacements pour stockage de fichiers (Files locations) - Il y a quelques endroits importants dans lesquels vous pouvez lire et écrire des fichiers.

File.DirAssets
Le dossier 'Assets' contient tous les fichiers qui ont été ajoutés avec le gestionnaire de fichiers (file manager) de l'IDE. Ces fichiers sont en lecture uniquement ! Vous ne pouvez pas créer de nouveaux fichiers dans ce dossier, qui fait partie intégrante du fichier apk de l'application.

File.DirInternal / File.DirInternalCache
Ces deux dossiers se trouvent dans la mémoire principale et sont 'privés' pour l'application et donc inaccessibles par d'autres applications.
Le dossier cache peut être effacé par le système si celui ci a besoin de plus de espace mémoire.

File.DirRootExternal
Le dossier racine de la carte de stockage externe.

File.DirDefaultExternal
Le dossier externe sur la carte de stockage de l'application .
Ce dossier est: <carte stockage>/Android/data/<package>/files/
Il sera crée si nécessaire.

Notez que les deux propriétés ci dessus ajoutent la permission EXTERNAL_STORAGE à votre application.

Conseil: Vous pouvez tester si une carte mémoire est présente et disponible au moyen de File.ExternalReadable et File.ExternalWritable.

L'objet prédéfini Files contient également quelques fonctions pour écrire et lire des fichiers.
Vous pouvez aussi utiliser les objets TextReader et TextWriter pour réaliser ces opérations manuellement.
Notez que TextReader et TextWriter ne sont pas limités à des fichiers seulement mais fonctionnent aussi avec d'autres flux.

TextReader et TextWriter ont un avantage sur les fonctions File read/write lorsqu'on travaille avec de grands fichiers. Les fonctions File lisent complètement le fichier et stockent le contenu en mémoire. C'est dans beaucoup de cas la solution la plus simple, néanmoins si vous travaillez avec de grands fichiers (plus que 1 à 2 Mbytes) il est préférable d'utiliser TextReader ou TextWriter.

File.WriteString - Ecrit le texte (string) dans un nouveau fichier.
File.ReadString - Lit un fichier et met le contenu dans une variable string.
File.WriteList - Ecrit toutes les valeurs mémorisées dans l'objet List dans un fichier. Toutes les valeurs sont converties en variables string. Chaque valeur est écrite dans sa propre ligne.
Attention: Si une valeur contient le caractère 'retour chariot' la valeur sera sauvée sur plusieures ligne, mais lors de la lecture ces lignes seront considérés comme plusiers éléments.
File.ReadList - Lit un fichier et ajoute chaque ligne comme élément dans un objet List.
File.WriteMap - Sauve le contenu d'un objet Map qui contient des élément constitués de paires, clé et valeur, dans un fichier texte. Le format du fichier est défini dans 'Java Properties file': .properties - Wikipedia, the free encyclopedia
Le format du fichier n'est en général pas important sauf si son contenu doit pouvoir être édité manuellemt. Ce format est facile à éditer manuellement.
Une des utilisation courantes de File.WriteMap consite à utiliser un objet Map pour mémoriser une liste de valeurs de "configuration" et de la sauver dans un fichier.
File.ReadMap - Lit un fichier et ajoute les paires clé/valeur comme éléments dans un objet Map. Notez que l'ordre des élément lors de la lecture n'est pas forcément le même celui que lors de l'écritue.

Exemple:
Code:
Sub Process_Globals
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
    
If File.ExternalWritable = False Then
        
Msgbox("Cannot write on storage card.""")
        
Return
    
End If
    SaveStringExample
    ReadStringExample
 
    WriteListExample
    ReadListExample
 
    WriteMapExample
    ReadMapExample
 
    WriteTextWriter
    ReadTextReader
End Sub
Sub SaveStringExample
    
File.WriteString(File.DirRootExternal, "String.txt", _
        
"This is some string" & CRLF & "and this is another one.")
End Sub
Sub ReadStringExample
    
Msgbox(File.ReadString(File.DirRootExternal, "String.txt"), "")
End Sub
Sub WriteListExample
    
Dim List1 As List
    List1.Initialize
    
For i = 1 To 100
        List1.Add(i)
    
Next
    
File.WriteList(File.DirRootExternal, "List.txt", List1)
End Sub
Sub ReadListExample
    
Dim List1 As List
    
'We are not initializing the list because it just holds the list that returns from File.ReadList
    List1 = File.ReadList(File.DirRootExternal, "List.txt")
    
Msgbox("List1.Size = " & List1.Size & CRLF & "The third item is: " & List1.Get(2), "")
End Sub
Sub WriteMapExample
    
Dim Map1 As Map
    Map1.Initialize
    
For i = 1 To 10
        Map1.Put(
"Key" & i, "Value" & i)
    
Next
    
File.WriteMap(File.DirRootExternal, "Map.txt", Map1)
End Sub
Sub ReadMapExample
    
Dim Map1 As Map
    
'Again we are not initializing the map.
    Map1 = File.ReadMap(File.DirRootExternal, "Map.txt")
    
'Append all entries to a string builder
    Dim sb As StringBuilder
    sb.Initialize
    sb.Append(
"The map entries are:").Append(CRLF)
    
For i = 0 To Map1.Size - 1
        sb.Append(
"Key = ").Append(Map1.GetKeyAt(i)).Append(", Value = ")
        sb.Append(Map1.GetValueAt(i)).Append(
CRLF)
    
Next
    
Msgbox(sb.ToString,"")
End Sub
Sub WriteTextWriter
    
Dim TextWriter1 As TextWriter
    TextWriter1.Initialize(
File.OpenOutput(File.DirRootExternal, "Text.txt"False))
    
For i = 1 To 10
        TextWriter1.WriteLine(
"Line" & i)
    
Next
    TextWriter1.Close
End Sub
Sub ReadTextReader
    
Dim TextReader1 As TextReader
    TextReader1.Initialize(
File.OpenInput(File.DirRootExternal, "Text.txt"))
    
Dim line As String
    line = TextReader1.ReadLine    
    
Do While line <> Null
        
Log(line) 'write the line to LogCat
        line = TextReader1.ReadLine
    
Loop
    TextReader1.Close
End Sub
__________________
Klaus
Switzerland

Beginner's Guide / User's Guide
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On


All times are GMT. The time now is 05:52 PM.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0