Search for files with specified extension
/*
* program to get the file with
specified extension.
*
* Description: If we gave directory
path and extension of file , we will be able to select files with that
specified extension
*/
import org.eclipse.swt.SWT;
import
org.eclipse.swt.layout.*;
import
org.eclipse.swt.widgets.*;
public class
FileSearchForExtension {
Display
display = new Display();
Shell
shell = new Shell(display);
Text
text;
String
selectedDir;
Label
label;
Text
text1, fileNameText;
String
fileFilterPath = "";
StringBuilder
sb = new StringBuilder("");
public
FileSearchForExtension() {
init();
shell.pack();
shell.setSize(450, 300); // setting size of
the shell
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
private void init() {
shell.setText("File Searcher
for Extension");
GridLayout
gridLayout = new GridLayout();
gridLayout.numColumns = 2;
gridLayout.makeColumnsEqualWidth = true;
shell.setLayout(gridLayout);
GridData
data = new GridData(GridData.FILL_BOTH);
// UI design
// Directory
selection button and text box
Button
button = new Button(shell, SWT.PUSH);
button.setText("Select a
directory");
text = new Text(shell, SWT.NONE);
text.setLayoutData(data);
// Enter extension
manually
label = new Label(shell, SWT.BORDER | SWT.WRAP);
label.setText("Enter the
extension to search");
text1 = new Text(shell, SWT.NONE);
text1.setLayoutData(data);
// Multiple/single
file name selection button and text box
Button
buttonSelectFile = new Button(shell, SWT.PUSH);
buttonSelectFile.setText("Select a
file/multiple files names");
fileNameText = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.WRAP
|
SWT.V_SCROLL);
fileNameText.setLayoutData(data);
Button
buttonClear = new Button(shell, SWT.PUSH);
buttonClear.setText("clear
fileds");
GridData
gridData = new GridData();
gridData.horizontalAlignment = GridData.CENTER;
gridData.horizontalSpan = 2;
buttonClear.setLayoutData(gridData);
// Adding listner
for directory selection using directory dialog
button.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event
event) {
DirectoryDialog
directoryDialog = new DirectoryDialog(shell);
directoryDialog.setFilterPath(selectedDir);
directoryDialog
.setMessage("Please select
a directory and click OK");
String
dir = directoryDialog.open();
if (dir != null) {
text.setText(dir);
text.setEditable(true);
selectedDir = dir;
}
}
});
// adding listener to
file names selection using file dialog
buttonSelectFile.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event
event) {
FileDialog
fileDialog = new FileDialog(shell, SWT.MULTI);
fileDialog.setFilterPath(text.getText());
String
extension = text1.getText();
fileDialog
.setFilterExtensions(new String[] { "*." + extension });
String
firstFile = fileDialog.open();
if (firstFile != null) {
fileFilterPath =
fileDialog.getFilterPath();
String[]
selectedFiles = fileDialog.getFileNames();
for (int i = 0; i <
selectedFiles.length; i++) {
sb.append(selectedFiles[i]
+ "\n");
}
fileNameText.setText(sb.toString());
}
}
});
// Adding listener
to the clear button
buttonClear.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event
event) {
text.setText("");
text1.setText("");
fileNameText.setText("");
sb.setLength(0);
}
});
}
public static void main(String[] args)
{
new
FileSearchForExtension();
}
}
No comments:
Post a Comment