- ベストアンサー
ディレクトリを予め指定した場合のファイル管理ツールについて
- ディレクトリ名を入力し、そのファイル名一覧をリストに表示するファイル管理ツールについての質問です。
- 指定した文字列を含むファイル名一覧を表示する方法についての変更方法を教えてください。
- BLUEPIXYさんが作成したFileListクラスを使用して、ディレクトリ内のファイルを表示する方法が知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
かなり適当だけど、修正してみました。 もともとファイルの一覧はできていたのだから、 ファイル名に指定した文字列が含まれているかというところだけが問題だと思いますが、それは1つの方法としてString#indexOf(String)を使えば調べることができます。 ---------------------------------------------------------------- import java.io.File; import java.awt.*; import java.awt.event.*; class FileList extends Frame implements ActionListener { Label lb1; TextArea aTextArea; TextField filePart ; public FileList(String title){ super(title); setLayout(new FlowLayout()); lb1 = new Label("含まれる名前:", Label.RIGHT); add(lb1); filePart = new TextField(40); filePart.addActionListener(this); add(filePart); aTextArea =new TextArea("", 20, 80, TextArea.SCROLLBARS_BOTH); add(aTextArea); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } public void actionPerformed(ActionEvent e){ String filePartStr; if(e.getSource() == filePart) { //Enter filePartStr = filePart.getText(); File dir = new File("c:\\temp");//固定のフォルダ File[] files = dir.listFiles(); aTextArea.setText(""); for(int i=0;i<files.length;i++) { String filename = files[i].getName(); if(filename.indexOf(filePartStr)>=0)//指定した文字が含まれる aTextArea.append(filename + (files[i].isDirectory() ? "\\\n": "\n" )) ; } } } } public class Filekanri { public static void main(String args[]){ FileList aFileList = new FileList("ファイル一覧"); aFileList.setSize(640,480); aFileList.setVisible(true); } }
お礼
本当にありがとうございます!! 助けていただいてばかりで。。。 感謝しています m__m