いろいろなフォーラムから見てプログラムを書こうとしています。次のようにプログラムし、既存の txt ファイルの 3 行目以降、5 行目前に行を追加します。& このプログラムの実行が完了したときに前の行を安全に保持しようとしましたが、3 行目と 5 行目の間に入力できませんでした。5 行目の下に追加されます。この基本的なプログラムが機能する場合、ファイルの 3 行目と 5 行目の間に「文字列の配列」を追加しようとします。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.LineNumberReader;
public class WriteToFileExample {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String content = "This is the content to write into file by Mandar";
File file = new File("/example/mandar.txt");
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.newLine();
bw.close();
System.out.println("Done");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
try {
LineNumberReader lnr = new LineNumberReader(new FileReader(file));
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
BufferedWriter bw = new BufferedWriter(fw);
lnr.setLineNumber(6);
for(int i =1; i<lnr.getLineNumber();i++){
// System.out.println("for = "+i);
// bw.newLine();
if(i == 3){
System.out.println("4");
bw.write(content);
// bw.newLine();
}
}
bw.close();
System.out.println("Done1");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
私を助けてください。手がかりもアイデアも得られません。