codice:
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import sun.rmi.transport.Utils;
import java.io.*;
import java.util.*;
import java.io.FilenameFilter;
// DEFINIZIONE DELLA CLASSE
public class SpostaFile extends JFrame {
private javax.swing.JPanel jContentPane = null;
private javax.swing.JPanel jPanelFiltro = null;
private javax.swing.JPanel jPanelLista = null;
private javax.swing.JButton jButton = null;
private javax.swing.JLabel jLabel1 = null;
private javax.swing.JLabel jLabel2 = null;
private javax.swing.JTextField jTextField_DirFrom = null;
private javax.swing.JLabel jLabel3 = null;
private javax.swing.JTextField jTextField_Pattern = null;
private javax.swing.JButton jButton1 = null;
private javax.swing.JTextField jTextField_DirTo = null;
private javax.swing.JTextArea jTextArea = null;
// File temporaneo di appoggio
private static File fileTemp;
// Directory origine con i file da copiare
private static String fromDirDefault = "c:/1";
// Directory destinazione in cui copiare i file
private static String toDirDefault = "c:/2";
// Pattern
private static String patternDefault = "txt;pdf;";
public void riempiLista(){
int i;
int a;
//RECUPERO DEL PATTERN SPLITTATO
StringTokenizer st = new StringTokenizer(jTextField_Pattern.getText(), ";");
String [] pattern = new String[st.countTokens()];
i = 0;
while (st.hasMoreTokens()) {
pattern[i] = st.nextToken();
i++;
}
// CARTELLA ORIGINE
File fromDir = new File(jTextField_DirFrom.getText());
// TUTTI I FILES CONTENUTI IN CARTELLA ORIGINE
File[] filesInDir = fromDir.listFiles();
// SVUOTO LA LISTA
jTextArea.removeAll();
// FACCIO SCORRERE TUTTI I FILE
for(i=0;i<filesInDir.length;i++){
// PER OGNUNO CERCO SE LA SUA ESTENSIONE è NEL PATTERN
for(a=0;a<pattern.length;a++){
if (filesInDir[i].getName().endsWith("." + pattern[a])){
jTextArea.append(filesInDir[i].getName()+ "\n");
break;
}
}
}
}
// FILES FILTRATI
class ExtensionFilter implements FilenameFilter {
private String extension;
public ExtensionFilter( String extension ) {
this.extension = extension;
}
public boolean accept(File dir, String name) {
return (name.endsWith(extension));
}
}
// METODO PRINCIPALE ESECUZIONE PROGRAMMA
public static void main(String[] args) {
SpostaFile classePrincipale = new SpostaFile();
classePrincipale.riempiLista();
}
// METODO COSTRUTTORE
public SpostaFile() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(398, 448);
this.setContentPane(getJContentPane());
this.setVisible(true);
this.setTitle(" SpostaFile.java");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private javax.swing.JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new javax.swing.JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJPanelLista(), null);
jContentPane.add(getJPanelFiltro(), null);
}
return jContentPane;
}
/**
* This method initializes jPanelFiltro
*
* @return javax.swing.JPanel
*/
private javax.swing.JPanel getJPanelFiltro() {
if(jPanelFiltro == null) {
jPanelFiltro = new javax.swing.JPanel();
jPanelFiltro.setLayout(null);
jPanelFiltro.add(getJLabel1(), null);
jPanelFiltro.add(getJLabel2(), null);
jPanelFiltro.add(getJLabel3(), null);
jPanelFiltro.add(getJTextField_DirFrom(), null);
jPanelFiltro.add(getJTextField_DirTo(), null);
jPanelFiltro.add(getJTextField_Pattern(), null);
jPanelFiltro.add(getJButton1(), null);
jPanelFiltro.setSize(380, 139);
jPanelFiltro.setBorder(javax.swing.BorderFactory.createTitledBorder(null, " Opzioni cartella ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), new java.awt.Color(102,102,153)));
jPanelFiltro.setPreferredSize(new java.awt.Dimension(280,70));
jPanelFiltro.setLocation(5, 5);
}
return jPanelFiltro;
}
/**
* This method initializes jPanelLista
*
* @return javax.swing.JPanel
*/
private javax.swing.JPanel getJPanelLista() {
if(jPanelLista == null) {
jPanelLista = new javax.swing.JPanel();
java.awt.FlowLayout layFlowLayout2 = new java.awt.FlowLayout();
layFlowLayout2.setAlignment(java.awt.FlowLayout.RIGHT);
jPanelLista.setLayout(layFlowLayout2);
jPanelLista.add(getJTextArea(), null);
jPanelLista.add(getJButton(), null);
jPanelLista.setSize(380, 261);
jPanelLista.setPreferredSize(new java.awt.Dimension(380,200));
jPanelLista.setLocation(5, 154);
jPanelLista.setBorder(javax.swing.BorderFactory.createTitledBorder(null, " Elenco file in cartella ", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), new java.awt.Color(102,102,153)));
}
return jPanelLista;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private javax.swing.JButton getJButton() {
if(jButton == null) {
jButton = new javax.swing.JButton();
jButton.setText("Sposta file");
jButton.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
}
return jButton;
}
/**
* This method initializes jLabel1
*
* @return javax.swing.JLabel
*/
private javax.swing.JLabel getJLabel1() {
if(jLabel1 == null) {
jLabel1 = new javax.swing.JLabel();
jLabel1.setSize(76, 20);
jLabel1.setText("Origine");
jLabel1.setLocation(11, 24);
}
return jLabel1;
}
/**
* This method initializes jLabel2
*
* @return javax.swing.JLabel
*/
private javax.swing.JLabel getJLabel2() {
if(jLabel2 == null) {
jLabel2 = new javax.swing.JLabel();
jLabel2.setSize(76, 20);
jLabel2.setText("Destinazione");
jLabel2.setLocation(11, 52);
}
return jLabel2;
}
/**
* This method initializes jTextField_DirFrom
*
* @return javax.swing.JTextField
*/
private javax.swing.JTextField getJTextField_DirFrom() {
if(jTextField_DirFrom == null) {
jTextField_DirFrom = new javax.swing.JTextField();
jTextField_DirFrom.setSize(250, 20);
jTextField_DirFrom.setLocation(96, 24);
jTextField_DirFrom.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
jTextField_DirFrom.setText(fromDirDefault);
}
return jTextField_DirFrom;
}
/**
* This method initializes jLabel3
*
* @return javax.swing.JLabel
*/
private javax.swing.JLabel getJLabel3() {
if(jLabel3 == null) {
jLabel3 = new javax.swing.JLabel();
jLabel3.setSize(76, 20);
jLabel3.setText("Pattern");
jLabel3.setLocation(11, 80);
}
return jLabel3;
}
/**
* This method initializes jTextField_Pattern
*
* @return javax.swing.JTextField
*/
private javax.swing.JTextField getJTextField_Pattern() {
if(jTextField_Pattern == null) {
jTextField_Pattern = new javax.swing.JTextField();
jTextField_Pattern.setSize(250, 20);
jTextField_Pattern.setLocation(96, 79);
jTextField_Pattern.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
jTextField_Pattern.setText(patternDefault);
}
return jTextField_Pattern;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private javax.swing.JButton getJButton1() {
if(jButton1 == null) {
jButton1 = new javax.swing.JButton();
jButton1.setBounds(253, 108, 94, 20);
jButton1.setText("Cerca file");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
SpostaFile classePrincipale = new SpostaFile();
classePrincipale.riempiLista();
}
});
}
return jButton1;
}
/**
* This method initializes jTextField_DirTo
*
* @return javax.swing.JTextField
*/
private javax.swing.JTextField getJTextField_DirTo() {
if(jTextField_DirTo == null) {
jTextField_DirTo = new javax.swing.JTextField();
jTextField_DirTo.setSize(250, 20);
jTextField_DirTo.setLocation(96, 52);
jTextField_DirTo.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
jTextField_DirTo.setText(toDirDefault);
}
return jTextField_DirTo;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private javax.swing.JTextArea getJTextArea() {
if(jTextArea == null) {
jTextArea = new javax.swing.JTextArea();
jTextArea.setPreferredSize(new java.awt.Dimension(360,180));
}
return jTextArea;
}
} // @jve:visual-info decl-index=0 visual-constraint="10,10"