Ich will in meinem Programm die Größe der .mpg-Datei einlesen. Ausserdem will ich dass im JFileChooser das "Startverzeichnis" auf C:\ ist.
Hier der Quelltext wenn er hilft:
Hier der Quelltext wenn er hilft:
Code:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Color;
import javax.swing.*;
public class DateiUmbenennen extends JFrame
implements ActionListener
{ JButton load;
JButton save;
JButton best;
JButton beenden;
JTextArea eindatei;
JTextArea ausdatei;
String filein;
String fileout;
String filexml;
String filempg;
String rename;
String title;
JLabel status;
JFileChooser in;
JFileChooser out;
public DateiUmbenennen()
{ Container c = getContentPane();
load = new JButton("Laden von");
save = new JButton("Speichern in");
best = new JButton("Ausführen");
beenden = new JButton("Beenden");
JTextArea info = new JTextArea("Laden von: Wählen sie den Ordner aus, wo die xml- und mpg- Dateien gespeichert sind.\nSpeichern in: Wählen sie den Ordner aus, in dem die umbenannte mpg-Datei gespeichert werden soll.\nAusführen: Die Datei wird umbenannt.\nBeenden: Das Programm wird beendet.");
info.setEditable(false);
status = new JLabel("Statusanzeige");
JPanel infos = new JPanel();
JPanel buttons = new JPanel();
eindatei = new JTextArea();
eindatei.setEditable(false);
ausdatei = new JTextArea();
ausdatei.setEditable(false);
c.setLayout(new BorderLayout());
buttons.setLayout(new GridLayout(1,4));
infos.setLayout(new GridLayout(3,1));
c.add(infos, BorderLayout.CENTER);
c.add(buttons, BorderLayout.SOUTH);
c.add(status, BorderLayout.NORTH);
infos.add(eindatei);
infos.add(ausdatei);
infos.add(info);
buttons.add(load);
buttons.add(save);
buttons.add(best);
buttons.add(beenden);
load.setBorder(BorderFactory.createEtchedBorder());
save.setBorder(BorderFactory.createEtchedBorder());
best.setBorder(BorderFactory.createEtchedBorder());
beenden.setBorder(BorderFactory.createEtchedBorder());
info.setBorder(BorderFactory.createEtchedBorder());
status.setBorder(BorderFactory.createEtchedBorder());
eindatei.setBorder(BorderFactory.createEtchedBorder());
ausdatei.setBorder(BorderFactory.createEtchedBorder());
save.addActionListener(this);
load.addActionListener(this);
best.addActionListener(this);
beenden.addActionListener(this);
}
public void actionPerformed(ActionEvent event)
{ try
{ if(load == event.getSource())
{ JFrame f = new JFrame();
in = new JFileChooser();
in.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = in.showOpenDialog(in);
if (returnVal == JFileChooser.APPROVE_OPTION)
{ File eins = in.getSelectedFile();
filein = eins.getPath();
filempg = filein + "\\" + "Rec_0.mpg";
filexml = filein + "\\" + "Recover.xml";
search(filexml);
}
in.setVisible(true);
eindatei.setText(filein + "\n" + title);
}
if(save == event.getSource())
{ JFrame f = new JFrame();
out = new JFileChooser();
out.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = out.showSaveDialog(out);
if (returnVal == JFileChooser.APPROVE_OPTION)
{ File eins = out.getSelectedFile();
fileout = eins.getPath();
}
out.setVisible(true);
ausdatei.setText(fileout + "\\" + title + ".mpg");
}
if(best == event.getSource())
{ umb(rename, filempg);
}
if(beenden == event.getSource())
{ System.exit(0);
}
}
catch(Exception e)
{
}
}
public void search(String sin)
{ try
{ FileInputStream in = new FileInputStream(sin);
byte buffer[] = new byte[4000];
int len = in.read(buffer, 0, 4000);
String str = new String(buffer, 0, len);
int l,k;
int laenge;
l=str.indexOf("RECORDTITLE")+13;
k=str.indexOf("\"",l);
title = str.substring(l,k);
rename = fileout + "\\" + title + ".mpg";
}
catch(Exception e)
{
}
}
public void umb(String rename, String sout)
{ try
{ File out = new File(sout);
File ren = new File(rename);
int i = 0;
while(ren.exists())
{ if(i != 0)
{ rename = fileout + "\\" + title + "_" + i + ".mpg";
}
else
{ rename = fileout + "\\" + title + ".mpg";
}
ren = new File(rename);
i++;
}
if(out.renameTo(ren))
{ status.setText("Umbenennen erfolgreich!");
status.setBackground(Color.green);
}
else
{ status.setText("Umbenennen fehlgeschlagen!");
status.setBackground(Color.red);
}
}
catch(Exception e)
{
}
}
public static void main(String[] args)
{ JFrame start = new DateiUmbenennen();
start.setSize(610,300);
start.setLocationRelativeTo(null);
start.setVisible(true);
}
}