レンタルサーバーはこれで決まり

【JDK】に関する知恵袋

【質問】
WildcardFilter使えない!eclipse 3.4.1(日本語版)にて使用言語はjavaを使用していて、tomcat5.0、レンタルサーバーに関しては、JDK 1.4.2.05でシステム開発をしています。その環境内でorg.apache.commons.io内のWildcardFilterを使おうとした時に「型 WildcardFilter は使用すべきではありません」と警告が出ました。案の定、WildcardFilter を実装しても思い通りの結果を得られず、(WildcardFilter を使用した際に文字列[ ]を返すのですが、JDKの知恵袋を考えると、)必ずnullとなってしまうのです。JDKの知恵袋には、eclipseの設定のエラー/警告で、「型 WildcardFilter は使用すべきではありません」警告を無視するに設定しても結果は変わらずです。使えてないからなのだろうけども、ソース上部の「import org.apache.commons.io.filefilter.WildcardFilter;」の「WildcardFilter」の部分に横線が引かれてる状態です。現在の使用環境においてWildcardFilterが使えないという事なのでしょうか。。。。もしわかる方がいらっしゃいましたら、助言、もしくは改善策をご教授いただきたいと存じます。ここまでがレンタルサーバーについての解説です。
【解答】
確か Commons IO では非推奨になってるはずです。(ver1.4)なので使わない方がいいです。レンタルサーバーに対する見解は、どういった使い方をしているのかわからないのですが、JDKの知恵袋を理解したいのであれば、正規表現で代用できませんか?JDKの知恵袋といえば、レンタルサーバーについて言及すると、追記:// 指定のディレクトリから a から始まる java ファイルのリストを作成File file = new File(dirpath);String[] listFiles = file.list(new WildcardFilter("a*.java"));こう使いたかったと解釈して作ったソースです。間違ってたらごめんなさい^^;java FindFiles [path] [正規表現]正規表現を知らないとどうしようもないので覚えるしかないです。import java.io.File;import java.util.*;import java.util.regex.Pattern;public class FindFiles { public static void main(String[] args) { List<String> findFileNameList = getFileNameList(new File(args[0]), args[1]); show(findFileNameList); } private static List<String> getFileNameList(File file, String regex) { List<String> fileNameList = new ArrayList<String>(); File[] listFiles = file.listFiles(); for (File f : listFiles) { if (f.isDirectory()) { // 再帰処理 // サブディレクトリも検索対象ならコメントアウトをはずす //fileNameList.addAll(getFileNameList(f, regex)); } else if (f.isFile()) { if (Pattern.matches(regex, f.getName())) { fileNameList.add(f.getName()); } } } return fileNameList; } private static void show(List<String> filenameList) { Iterator<String> ite = filenameList.iterator(); while (ite.hasNext()) { System.out.println(ite.next()); } }}
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1427686784
Webサービス by Yahoo! JAPAN

その他関連ワード