ディレクトリ内を再帰的に検索して既存javaファイルに特定の文字列を追加したいんだよ
ナイスなプログラムナイスですね
http://sattontanabe.blog86.fc2.com/blog-entry-55.html
これをちょっくら使用させていただきますと、ありがとうございます
File[] files = listFiles(directoryPath, fileNamePattern, type, isRecursive);
これで再帰的にディレクトリ中のFileオブジェクト配列が獲得できる
だもんで、
public List<BufferedWriter> makeBuffWriterList(String directoryPath, String fileNamePattern, int type, boolean isRecursive) { FileWriter fw = null; BufferedWriter bw = null; List<BufferedWriter> bfwList = new ArrayList<BufferedWriter>(); File[] files = listFiles(directoryPath, fileNamePattern, type, isRecursive); for (int i = 0; i < files.length; i++) { try { //追加モードでFileWriterを作成する fw = new FileWriter(files[i],true); } catch (IOException e) { System.out.println("入出力エラー!"); e.printStackTrace(); } bw = new BufferedWriter(fw); bfwList.add(bw); } return bfwList; }
で、BufferedWriterにラップして返せば
Iterator it = bfwList.iterator(); BufferedWriter bw = null; while (it.hasNext()) { String line; FileReader fr = new FileReader(markingTextPath); BufferedReader br = new BufferedReader(fr); bw = (BufferedWriter) it.next(); while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); } bw.close(); br.close(); }
で対象文字を書き込むことはできるが、あくまでもファイルの最後にくっつくだけだ。
しちめんどくせーなあー