2010-06-25 12 views
2

Quelqu'un peut-il m'aider à expliquer comment lire et afficher les données stockées dans les données internes de stockage interne dans la mémoire de l'appareil.Stockage interne android -Dispositif mémoire

String input=(inputBox.getText().toString()); 
String FILENAME = "hello_file"; //this is my file name 
FileOutputStream fos; 
try { 
    fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
    fos.write(input.getBytes()); //input is got from on click button 
    fos.close(); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
try { 
    fos1= openFileInput (FILENAME); 
} catch (FileNotFoundException e) {} 
outputView.setText(fos1./*I don't know what goes here*/); 

Répondre

3

openFileInput retourne un objet FileInputStream. Ensuite, vous devrez lire les données à l'aide des méthodes read qu'il fournit.

// missing part... 
int len = 0, ch; 
StringBuffer string = new StringBuffer(); 
// read the file char by char 
while((ch = fin.read()) != -1) 
    string.append((char)ch); 
fos1.close(); 
outputView.setText(string); 

Jetez un oeil à FileInputStream pour plus de référence. Gardez à l'esprit que cela fonctionnera bien pour les fichiers texte ... si c'est un fichier binaire, il va déverser des données bizarres dans votre widget.

3

Il y a beaucoup de façons de lire dans le texte, mais l'utilisation d'un objet scanner est l'un des moyens les plus faciles pour moi.

String input=(inputBox.getText().toString()); 
String FILENAME = "hello_file"; //this is my file name 
FileOutputStream fos; 
try { 
    fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
    fos.write(input.getBytes()); //input is got from on click button 
    fos.close(); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
String result = ""; 
try { 
    fos1= openFileInput (FILENAME); 
    Scanner sc = new Scanner(fos1); 
    while(sc.hasNextLine()) { 
     result += sc.nextLine(); 
    } 
} catch (FileNotFoundException e) {} 
outputView.setText(result); 

Vous devez import java.util.Scanner; pour que cela fonctionne. L'objet Scanner a d'autres méthodes similaires à nextInt() si vous souhaitez obtenir des informations plus spécifiques sur le fichier.

Questions connexes