import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
/**
*
* Beschreibung.
*
* @version 1.0 vom 12.10.2004
* @author
*/
public class Dateimanager extends JFrame {
// Anfang Variablen
private JButton jbu1 = new JButton();
private JButton jbu2 = new JButton();
private JFileChooser jfco1 = new JFileChooser();
private JFileChooser jfco2 = new JFileChooser();
String sFileChoosed;
String sFileChoosed1;
String str1 = ("\\");
private JTextField jtf1 = new JTextField();
private JTextField jtf2 = new JTextField();
final static StringBuffer ret = new StringBuffer();
final static StringBuffer ret1 = new StringBuffer();
public JList jli1 = new JList();
public JList jli2 = new JList();
private JScrollPane jsp1 = new JScrollPane();
private JScrollPane jsp2 = new JScrollPane();
private JButton jbukop = new JButton();
public String pfad;
public String newfile;
private JButton jbutrans = new JButton();
// Ende Variablen
public Dateimanager(final String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(final WindowEvent evt) { System.exit(0); } });
setBounds(60, 60, 700, 500);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jbu1.setBounds(15, 110, 35, 35);
jbu1.setIcon(new ImageIcon(Dateimanager.class.getResource("file01.gif")));
getContentPane().add(jbu1);
jbu1.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
jbu1ActionPerformed(evt); } });
jbu2.setBounds(300, 110, 35, 35);
jbu2.setIcon(new ImageIcon(Dateimanager.class.getResource("file01.gif")));
getContentPane().add(jbu2);
jbu2.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
jbu2ActionPerformed(evt); } });
jtf1.setText("kein Ordner ausgewählt");
jtf1.setBackground(Color.red);
jtf1.setEditable(false);
jtf1.setToolTipText("Ordnername");
jtf1.setBounds(55, 125, 140, 20);
getContentPane().add(jtf1);
jtf2.setText("kein Ordner ausgewählt");
jtf2.setBackground(Color.red);
jtf2.setEditable(false);
jtf2.setToolTipText("Ordnername");
jtf2.setBounds(340, 125, 140, 20);
getContentPane().add(jtf2);
jli1.setSelectionMode(0);
jli1.setToolTipText("Ordnerinhalt");
jli1.setBounds(15, 160, 180, 250);
getContentPane().add(jli1);
jsp1.setViewportView(jli1);
jsp1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jsp1.setBounds(15, 160, 180, 250);
getContentPane().add(jsp1);
jli2.setSelectionMode(0);
jli2.setToolTipText("Ordnerinhalt");
jli2.setBounds(300, 160, 180, 250);
getContentPane().add(jli2);
jsp2.setViewportView(jli2);
jsp2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jsp2.setBounds(300, 160, 180, 250);
getContentPane().add(jsp2);
jbukop.setText("kopieren");
jbukop.setToolTipText("kopieren");
jbukop.setIcon(new ImageIcon(Dateimanager.class.getResource("copy.gif")));
jbukop.setBounds(220, 200, 50, 40);
getContentPane().add(jbukop);
jbukop.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
jbukopActionPerformed(evt); } });
jbutrans.setIcon(new ImageIcon(Dateimanager.class.getResource("trans.gif")));
jbutrans.setToolTipText("verschieben");
jbutrans.setBounds(220, 250, 50, 40);
getContentPane().add(jbutrans);
jbutrans.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
jbutransActionPerformed(evt); } });
// Ende Komponenten
setVisible(true);
}
// Anfang Ereignisprozeduren
public void jbu1ActionPerformed(final ActionEvent evt) {
jfco1.setDialogTitle("Wähle Ordner");
jfco1.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // um nur Verzeichnisse auszuwählen
if (jfco1.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
String sFileChoosed1 = jfco1.getSelectedFile().getName();
jtf1.setText(sFileChoosed1);
File f = new File(jfco1.getCurrentDirectory() + str1 + sFileChoosed1);
File[] files = f.listFiles();
ret.delete(0, ret.length()); // StringBuffer ret leeren
for (int i = 0; i < files.length; i++) {
ret.append(files[i].getName() + '\n');
}
jli1.setListData(f.list());
}
}
public void jbu2ActionPerformed(final ActionEvent evt) {
jfco2.setDialogTitle("Wähle Ordner");
jfco2.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // um nur Verzeichnisse auszuwählen
if (jfco2.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
String sFileChoosed = jfco2.getSelectedFile().getName();
jtf2.setText(sFileChoosed);
File f1 = new File(jfco2.getCurrentDirectory() + str1 + sFileChoosed);
File[] files1 = f1.listFiles();
ret1.delete(0, ret1.length()); // StringBuffer ret leeren
for (int i = 0; i < files1.length; i++) {
ret1.append(files1[i].getName() + '\n');
}
jli2.setListData(f1.list());
}
}
public void jbukopActionPerformed(final ActionEvent evt) {
pfad = (jfco1.getCurrentDirectory() + str1 + jtf1.getText() + str1 + jli1.getSelectedValue());
newfile = (jfco2.getCurrentDirectory() + str1 + jtf2.getText() + str1 + jli1.getSelectedValue());
int i;
File file = new File(newfile);
if(file.exists()) {
// tue nichts
} else {
try {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(pfad));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(newfile));
while ( ( i = in.read()) != -1)
out.write(i);
in.close();
out.close();
String sFileChoosed = jfco2.getSelectedFile().getName();
jtf2.setText(sFileChoosed);
File f1 = new File(jfco2.getCurrentDirectory() + str1 + sFileChoosed);
File[] files1 = f1.listFiles();
ret1.delete(0, ret1.length()); // StringBuffer ret leeren
for (i = 0; i < files1.length; i++) {
ret1.append(files1[i].getName() + '\n');
}
jli2.setListData(f1.list());
}catch (Exception e) {System.out.println( e );}
}
}
public void jbutransActionPerformed(final ActionEvent evt) {
pfad = (jfco1.getCurrentDirectory() + str1 + jtf1.getText() + str1 + jli1.getSelectedValue());
newfile = (jfco2.getCurrentDirectory() + str1 + jtf2.getText() + str1 + jli1.getSelectedValue());
int i;
File file = new File(newfile);
if(file.exists()) {
// tue nichts
} else {
try {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(pfad));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(newfile));
while ( ( i = in.read()) != -1)
out.write(i);
in.close();
out.close();
File oldfile = new File(pfad);
oldfile.delete(); // löscht die alte Datei.
String sFileChoosed1 = jfco1.getSelectedFile().getName();
jtf1.setText(sFileChoosed1);
File f = new File(jfco1.getCurrentDirectory() + str1 + sFileChoosed1);
File[] files = f.listFiles();
ret.delete(0, ret.length()); // StringBuffer ret leeren
for (i = 0; i < files.length; i++) {
ret.append(files[i].getName() + '\n');
}
jli1.setListData(f.list());
String sFileChoosed = jfco2.getSelectedFile().getName();
jtf2.setText(sFileChoosed);
File f1 = new File(jfco2.getCurrentDirectory() + str1 + sFileChoosed);
File[] files1 = f1.listFiles();
ret1.delete(0, ret1.length()); // StringBuffer ret leeren
for (i = 0; i < files1.length; i++) {
ret1.append(files1[i].getName() + '\n');
}
jli2.setListData(f1.list());
}catch (Exception e) {System.out.println( e );}
}
}
// Ende Ereignisprozeduren
public static void main(final String[] args) {
new Dateimanager("Dateimanager");
}
}