I m utilisant read & chaîne d'écriture dans la mémoire interne. Mon "WriteFavData" fonctionne correctement. Mais dans "ReadFavData" ne fonctionne pas. En fait, quand je tends la ligne si (favFile.exists()) dans ReadFavData (.., ..), il dit fichier non trouvé & exécuter la partie else. Je l'ai déjà vérifier l'émulateur mémoire interne en utilisant l'accès au shell de ligne de commande adb shell cat /data/data/com.android.mypackage/files/fav_data_channel, le fichier est là. Pourquoi dit que le fichier n'est pas présent? Toutes les idées ....Problème avec la lecture du fichier de la mémoire interne
public boolean ReadFavData(Context context, String channelName)
{
boolean isFileFound = false;
FileInputStream fin ;
StringBuffer strContent = new StringBuffer("");
String fileName = FAV_FILE_NAME + "_" + channelName;
File favFile = new File(fileName);
int ch;
if(favFile.exists())
{
isFileFound = true;
try {
fin = context.openFileInput(FAV_FILE_NAME + "_" + channelName);
isFileFound = true;
while ((ch = fin.read()) != -1)
{
strContent.append((char) ch);
}
fin.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
{
Log.i(TAG, "not found");
}
return isFileFound;
}
public boolean WriteFavData(Context context, String channelName)
{
String favStr;
FileOutputStream fos ;
JSONObject videos = new JSONObject();
videos.put("videos", favJsonArray);
String favStr = videos.toJSONString(); //note.toString();
String fileName = FAV_FILE_NAME + "_" + channelName;
File f = new File(fileName);
if(f.exists())
{
Log.i("Old FIle", "Found");
f.delete();
}
if(f.exists())
Log.i("Still", "Exist");
try {
fos = context.openFileOutput(FAV_FILE_NAME + "_" + channelName, Context.MODE_PRIVATE);
fos.write(favStr.getBytes());
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;
}
En fait, je débogués à nouveau & piste en ligne si (File.Exists()), le fichier n'est pas .. Mais si je commente cette ligne & lire mon fichier directement, je suis capable de lire le fichier avec succès. Quel est le problème avec if (file.exists())?
hmmmm .. Thankx @Dot .. je travaille sans exister. – MicroEyes
Vous pouvez 'return false;' dans exception catch. –
ok .. Thankx @Dot pour une si belle réponse .. – MicroEyes