Comment écrire un tableau dans un fichier texte sur la mémoire de stockage interne?
J'ai besoin de stocker des données dans un fichier texte sur le stockage interne.
pour l'exemple ci-dessous, j'ai un bouton, je voudrais enregistrer des données dans un fichier texte, chaque fois que le bouton est cliqué. Je suis en train de tester sur un exemple:
http://developer.android.com/training/basics/data-storage/files.html
import java.io.FileOutputStream;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button) findViewById(R.id.button1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
String filename = "myfile";
String string = "Hello world!";
FileOutputStream outputStream;
try {
outputStream = openFileOutput(filename, Context.MODE_APPEND);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
J'ai seulement changé le "mode_private" à "mode_append", afin que je puisse voir le fichier enregistré, mais je ne trouve pas le fichier enregistré, il m'est même impossible de trouver le répertoire dans lequel le fichier est censé être sauvé.
Aussi, plus spécifiquement, j'ai besoin de stocker un tableau de nombres dans le fichier texte (dire que j'ai={1,2,3} output.txt).
Je vous serais reconnaissant si vous pouvez m'aider.
OriginalL'auteur kaman | 2013-06-14
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, il vous manque le
setOnClickListener
pour votre bouton. Il devrait être..."mais je ne trouve pas le fichier enregistré, il m'est même impossible de trouver le répertoire dans lequel le fichier est censé être sauvés".
getApplicationContext().getFilesDir()
vous dira où le fichier a été enregistré.Android DOCS dire...
Pour stocker un tableau dans un fichier, essayez ce qui suit...
Non, autant que je sache, vous ne pourrez pas voir le fichier dans le répertoire.
openFileOutput
va stocker le fichier dans l'application interne du répertoire de stockage. La seule façon d'accéder au fichier à l'aide de laContext
. Si vous souhaitez accéder au fichier, puis enregistrer le fichier externe.Je viens de tester le même code, mais cette fois à l'aide de l'émulateur, et je suis capable de voir la taille réelle du fichier et de le retirer de l'appareil. Il semble que je ne peux pas le voir lorsque vous utilisez l'appareil réel au lieu de l'émulateur. Ouais, merci quand même, je vais essayer de voir si je peux stocker le fichier de l'extérieur, et je vais vous demander de nouveau si j'ai rencontré un problème.
Bon à entendre. Tous les meilleurs @kaman.
OriginalL'auteur neo108