Содержимое файла при повторном доступе к базе данных неверно

#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. Нет. Но тогда вы знаете, кого винить. Я думаю, что это не имеет ничего общего с записью в файл, как вы предлагаете. Тогда вы лучше поймете свою проблему.