2014-01-14 108 views
0
public void urlWriter(int y) throws IOException 
      { 
      File file = new File("C:\\DRIVE\\datas.txt"); 
      FileWriter fw = new FileWriter(file); 
      BufferedReader dummyReader = new BufferedReader(new FileReader(file)); 

      BufferedWriter latestSource = new BufferedWriter(fw); 


      //dummy string to read line by line 
      String dooms =null; 


     //loop for reading line by line 
      for(i=0;i<y;i++) 
      { 
      while ((dooms=dummyReader.readLine())!=null) 
      { 


       //y line 
       latestSource.write(CommonData.entered_direct); 
       latestSource.newLine(); 
       //y+1 line 
       latestSource.write(CommonData.entered_cellar); 
       latestSource.newLine(); 
       //y+2 line 
       latestSource.write(CommonData.entered_tele); 
       latestSource.close(); 

      } 
      } 

嘗試逐行讀取,然後在特定位置寫入。但同樣的問題存在..有人可以幫助我...?使用java在(.txt)文件中的特定行號處插入文本

方案:如果y的值作爲「4」過去了,4日,5日,6日在文本文件行應該與新data.Highly明顯,如果有一個人幫我更換。提前致謝!!

問題面臨:所有的數據在文本文件,而不是粘到指定的行號

+3

沒問題.... – Maroun

回答

1

你想要什麼可以大概只有通過讀取行​​的文件行,然後

  • 寫入新的文本,如果是要更換的線路之一來實現。
  • 否則,寫入原始行。

然後您將有原始文件和一個新文件。您可以相應地重命名它們,這樣您也可以備份最後一次更改。

粗輪廓:

open input file (i.e. BufferedReader) 
open new outfile file (i.e. some Writer) 
line = 0 
data = read line from input 
while (there is data) 
    line = line + 1 
    if (line >= y && line <= y+2) 
     write replaced data 
    else 
     write data 
    data = read line from input 
close output file 
close input file 
+0

對不對。接受你的兩個拇指規則。但如何逐行讀取並在特定實例中寫入? –

+0

@DeepakPrabhu我推薦BufferedReader/BufferedWriter來做到這一點。 – Ingo

+0

我會嘗試逐行閱讀並在所需的實例中書寫。謝謝! –

0

底部獲取寫入有一個名爲的RandomAccessFile類,這是你在找什麼。

+0

對不起,我不確定這些術語,因爲我是新的。 –

+0

哪個術語?類? – Typo

+0

「尋找(15)」是做什麼的? –

0

RandomAccessFileseek()的幫助下,您可以實現這一目標。

Seek設置文件指針偏移量,從此 文件的開始處開始測量,在該位置發生下一次讀取或寫入操作。超出文件末尾的偏移量可以設置爲 。設置超出 文件末尾的偏移量不會更改文件長度。在偏移量設置超出文件末尾之後,文件長度將通過寫入僅更改 。

RandomAccessFile ra = new RandomAccessFile("abc.txt","rw");// (file name, mode of file) 
      ra.seek(15);// set the poss to overwrite 
      ra.writeUTF("garbage"); 
相關問題