Добавить строку в первую строку файла

Я использовал код для вставки строки в файл. Однако этот код поддерживает вставку только в последнюю строку файла. Не могли бы вы помочь мне изменить его, чтобы написать строку в первой строке строки в android. Эти строки разделены line.separator

Например: Текущая строка в файле

aaa
bbb
ccc

С новой строкой "111" вставьте ее как

111
aaa
bbb
ccc

это мой код

private void writeTextFile(String filecontent)
{           
        String filepath = Environment.getExternalStorageDirectory().getPath();
        String filename=filepath+"/" +  "/" + "filentxt.txt"    ;   
        FileOutputStream fop = null;
        File file = null;

        try {
            file =new File(filename);
            fop=new FileOutputStream(file,true);
            // if file doesn't exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }
            filecontent=filecontent+ System.getProperty ("line.separator");
            // get the content in bytes
            byte[] contentInBytes = filecontent.getBytes();
            fop.write(contentInBytes);
            fop.flush();
            fop.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
}

person John    schedule 01.10.2015    source источник
comment
Я видел это, но он использовал другой способ, например RandomAccessFile.   -  person John    schedule 01.10.2015
comment
прочитайте это stackoverflow.com/questions/6127648/   -  person Emil    schedule 01.10.2015
comment
@Boss: он использовал временный файл и удалял его после использования. Я думаю, что это не очень хороший способ   -  person John    schedule 01.10.2015
comment
stackoverflow.com/questions/16665124/   -  person Emil    schedule 01.10.2015
comment
Прочитайте содержимое файла и запишите его после добавления к нему ваших данных.   -  person Emil    schedule 01.10.2015
comment
Я видел это, но он использовал RandomAccessFile. Я хочу найти небольшое изменение в моем коде   -  person John    schedule 01.10.2015


Ответы (1)


Используйте RandomAccessFile для записи в начале файла

String filepath = Environment.getExternalStorageDirectory().getPath();
String filename=filepath+"/" +  "/" + "filentxt.txt"    ;   
RandomAccessFile f = new RandomAccessFile(new File(filename), "rw");
f.seek(0); // to the beginning
f.write("111".getBytes());
f.close();
person Rajan Kali    schedule 01.10.2015