Javaのファイル操作について勉強しているものです。
Javaであるファイル(sample.text)の奇数行にだけ行の末尾に_oddと追記して新規のファイル(sample_new.text)として保存したいと思っております。
今現在、元のファイルの文字が消され新規のファイルで_oddだけが10行ぶん表示されてしまいます。
Javaでの配列の扱い方も拙く汚いですが手探りで作って見ているところです。
指定した行に追記できる方法のアドバイスをお願いしたいです。
よろしくお願いします。
Java
1import java.util.*; 2import java.io.*; 3 4public class file_rw { 5 public static void main(String arg[]){ 6 try{ 7 Scanner s = new Scanner(System.in); 8 System.out.println("ファイル名を入力してください "); 9 String fileName = s.next(); 10 File oldFile = new File(fileName +".text"); 11 File newFile = new File(fileName + "_new.text"); 12 FileReader fr = new FileReader(oldFile); 13 FileWriter fw = new FileWriter(newFile, true); 14 BufferedReader br = new BufferedReader(fr); 15 BufferedWriter bw = new BufferedWriter(fw); 16 PrintWriter pw = new PrintWriter(bw); 17 // oldFile.renameTo(newFile); 18 String line; 19 List<String> lineList = new ArrayList<String>(); 20 while((line = br.readLine()) != null){ 21 lineList.add(line); 22 } 23 for(int i = 0; i < lineList.size(); i++){ 24 if(i % 2 != 0){ 25 pw.println("_odd"); 26 pw.flush(); 27 pw.close(); 28 } 29 System.out.println(lineList.get(i)); 30 } 31 32 br.close(); 33 }catch(IOException e){ 34 System.out.println(e); 35 } 36 37 } 38}
sample.text
1sample.text 21 32 43 54 65 76 87 98 109 1110
理想のsample_new.text 1_odd 2 3_odd 4 5_odd 6 7_odd 8 9_odd 10 現在のsample_new.text _odd _odd _odd _odd _odd _odd _odd _odd _odd _odd
回答1件
あなたの回答
tips
プレビュー