L'écriture et la Lecture de la Chaîne pour un stockage interne dans Android

Je veux écrire dans un fichier et de le lire. Lors de l'utilisation openFileOutput(..,..) méthode que j'ai que cette méthode n'est pas définie, car elle est une méthode abstraite. Ensuite, j'ai essayé avec passage du contexte à l'aide de getBaseContext(); et l'avertissement a été éteint, mais je ne suis pas d'obtenir le résultat sur la lecture de la sortie. J'ai aussi essayé en passant le contexte comme un paramètre dans le constructeur, mais qui n'a pas aidé. Je veux écrire des méthodes statiques de sorte que je n'ai pas à instancier la classe à chaque fois et statique n'est pas la raison parce que j'ai essayé, sans elle, aussi. Le code est extrait est donné ci-dessous.

Ai-je besoin de spécifier n'importe quel chemin, même pendant l'utilisation de la mémoire de stockage interne?
Est-il de toute autorisation nécessaire pour écrire des fichiers sur le stockage interne? (J'ai inclus la permission d'écrire sur le stockage externe)

public static void write (String filename,Context c,String string) throws IOException{
    try {
        FileOutputStream fos =  c.openFileOutput(filename, Context.MODE_PRIVATE);
        fos.write(string.getBytes());
        fos.close();
    } catch (FileNotFoundException e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    }
}


public static String read (String filename,Context c) throws IOException{

    StringBuffer buffer = new StringBuffer();

    FileInputStream fis = c.openFileInput(filename);
    BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
    if (fis!=null) {                            
        while ((Read = reader.readLine()) != null) {    
            buffer.append(Read + "\n" );
        }               
    }       
    fis.close();
    return Read;
}
Vous voulez retourner à la mémoire tampon.toString() read()! (BTW, "Chaîne de Lire;" qui semble manquer dans votre extrait de code, cependant, vous ne devez pas utiliser les majuscules non-variables statiques.)
Alors, comment puis-je le faire? Un extrait de code éventuellement vous aider.
tampon de retour.toString() en tant que dernière ligne de votre méthode read (). Et d'ajouter "Chaîne de Lire;" quelque part avant votre tout-boucle pour définir la "Lecture" à la variable. Et vous devez l'utiliser en minuscules, par exemple String ligne; while( (line = reader.readLine()) != null) de la mémoire tampon.append(ligne + "\n");
Merci! J'ai fait défini Lire comme une variable statique dans ma classe.

OriginalL'auteur Atinder | 2012-08-28