Я создал два files
, один из них - это строка меньше (временная), и я хотел бы удалить оригинал и содержимое временной замены оригинала. renameTo
не работает, я не знаю, почему:/или какой-то совсем другой способ это сделать?Переместить содержимое одного файла в другой
Удалить линию:
ArrayAdapter<String> adapter = (ArrayAdapter<String>) listViewZaznam.getAdapter();
FileInputStream inputStream = openFileInput(String.valueOf(oldfile));
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
FileOutputStream fileout = openFileOutput(String.valueOf(newfile), MODE_APPEND);
OutputStreamWriter outputWriter = new OutputStreamWriter(fileout);
String currentLine;
while((currentLine = bufferedReader.readLine()) != null) {
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(removethisline)) {
adapter.remove(removethisline);
continue;
}
outputWriter.write(currentLine + System.getProperty("line.separator"));
}
outputWriter.close();
bufferedReader.close();
newfile.renameTo(oldfile); // ??
}
Чтение из файла
ArrayAdapter<String> adapter = (ArrayAdapter<String>) listViewZaznam.getAdapter();
try {
FileInputStream inputStream = openFileInput(String.valueOf(oldfile));
if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String drziaciString = "";
while ((drziaciString = bufferedReader.readLine()) != null) {
adapter.add(drziaciString);
listViewZaznam.setSelection(adapter.getCount() - 1);
}
inputStream.close();
}
} catch (FileNotFoundException e) {
Log.e(TAG, "File not found: " + e.toString());
} catch (IOException e) {
Log.e(TAG, "Can not read file: " + e.toString());
}
}
EDIT Проблема решена :)
Нет, оба файла находятся во внутреннем хранилище, и я могу удалить файлы ... Я использую deleteFile (файл) или существует какой-то режим, где я могу переписать файл, но не только одну строку (я думаю, MODE_PRIVATE)? – ficti
Вы используете абсолютные пути? – formica
'Файл oldfile = новый файл (« trasa.txt »);' no – ficti