2015-10-01 3 views
-1

Я использовал код для вставки строки в файл. Однако этот код поддерживает только вставку в последнюю строку файла. Не могли бы вы помочь мне изменить его, чтобы написать строку в первой строке строки в 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(); 
     } 
} 
+0

Я видел его, но он использовал другой способ, такой как RandomAccessFile – user8264

+0

прочитать http://stackoverflow.com/questions/6127648/writing-in-the-beginning-of-a-text-file- java/6127706 # 6127706 – Emil

+0

@Boss: он использовал временный файл и удалял их после использования. Я думаю, что это не так хорошо. – user8264

ответ

0

Использовать 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(); 
Смежные вопросы