- 締切済み
ファイル(画像)の抽出について
初心者ですが、宜しくお願い致します。 テキストファイルに記述されているファイル名を詠み込んで、ディレクトリ内 (サブディレクトリ内も)のファイル名と比べて、同じファイル 名のものを別のディレクトリに保存して、同じファイル名がないもを テキストとして出力することは可能でしょうか? ファイルの読込やディレクトリ内のファイル名の取得など別々には できるようなのですが、、、、 初歩的なことで、申し訳ありませんが宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ssr-y6
- ベストアンサー率71% (5/7)
下のサンプルは、カレントディレクトリ以下でlist.txtに指定されたファイルのみを$backupディレクトリにコピーするプログラムです。 (ただし先頭が$で始まるファイルまたはディレクトリは対象外になります) import java.io.*; public class tobackup { private static String[] Name; private static File BackupDir; private static void Backup(File dir) throws Exception { File[] f = dir.listFiles(); String s; int i, j; FileInputStream IF; FileOutputStream OF; for (i = 0; i < f.length; i ++) { s = f[i].getName(); if (s.matches("^\\$.*")) continue; if (f[i].isDirectory()) Backup(f[i]); else { for (j = 0; j < Name.length; j ++) if (Name[j].compareTo(s) == 0) break; if (j == Name.length) System.out.println(f[i].getAbsolutePath()); else { IF = new FileInputStream(f[i]); OF = new FileOutputStream(new File(BackupDir, s)); while ((j = IF.read()) != -1) OF.write(j); OF.close(); IF.close(); }; }; }; }; public static void main(String args[]) { String s; try { BufferedReader BR = new BufferedReader(new FileReader("list.txt")); StringBuffer SB = new StringBuffer(";"); while ((s = BR.readLine()) != null) SB.append(s + ";"); BR.close(); Name = SB.toString().split(";"); BackupDir = new File("$backup"); Backup(new File(System.getProperty("user.dir"))); } catch (Exception ex) { System.out.println(ex.toString()); }; }; }
- Foxtrot_OW
- ベストアンサー率38% (19/49)
>可能でしょうか? 可能です。
お礼
Foxtrot_OW さん 遅くなってしまい申し訳ありません。 ありがとうございました。調べながらやってみます。