#java #android #file
Вопрос:
Столкнулся с такой проблемой. Я записал данные в файл, и с первой попытки все написано хорошо, но последующие выводят ноль. С чем это может быть связано ?
public static String ExportTofile (boolean archive) throws Exception {
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
throw new Exception("Нет доступа к SDCard");}
File sdFile;
File sdPath = Environment.getExternalStorageDirectory();
sdPath = new File(sdPath.getAbsolutePath() "/" GlobalVars.DirectoryPath);
if (archive) {
sdFile = new File(sdPath ".txt");
} else
sdFile = new File(GlobalVars.AppPathData(), GlobalVars.DirectoryFileName);
Cursor cDeliveryTable;
try {
BufferedWriter br = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(sdFile),
"windows-1251"));
Log.d(GlobalVars.LOG_TAG, "ExpotToFile: " sdFile.getAbsolutePath());
cDeliveryTable = GlobalVars.db.rawQuery("select * from CustDeliveryTable order by _id", null);
cDeliveryTable.moveToFirst();
while (!cDeliveryTable.isAfterLast()) {
CustDeliveryTable st = new CustDeliveryTable(cDeliveryTable.getLong(cDeliveryTable.getColumnIndex("_id")));
br.write(st.CargoStr() "rn");
cDeliveryTable.moveToNext();}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
throw e;
} catch (IOException e) {
e.printStackTrace();
throw e;}
return sdFile.getAbsolutePath();}
public String CargoStr() {
String sLine;
sLine = this.Name
";"
this.Address
";"
this.Number
";";
return sLine.substring(0, sLine.length() - 1);}
Сначала запишите в файл
Последующие записи
Комментарии:
1. Вам не нужно писать st. CargoStr() для подачи. Покончите с файлами и просто войдите в эту строку.
2. @blackapps Это не решит мою проблему
3. Нет. Но тогда вы знаете, кого винить. Я думаю, что это не имеет ничего общего с записью в файл, как вы предлагаете. Тогда вы лучше поймете свою проблему.