Hallo Forum,
habe fehler im programm, was soll ich machen, ich muß das ganze Programm schicken. dazu gehören auch das hilfe-package.
ich bin eine Privatperson, bei mir ist nicht viel zu holen. vom Prinzip her brauch ich noch nicht mal einen virenschutz.
wenn ich das Programm umsetze auf eine abstrakte form, dann ist das eine mühevolle sauarbeit.
also könnt ihr ruhig den ganzen code bekommen, das macht man in der regel wohl nicht. aber was solls.
das problem:
--------------
das Programm hat eine Statuszeile, die von den buttons mit Informationen versorgt werden. doch der Button Prozess1 erreicht die Statuszeile nicht.
habe fehler im programm, was soll ich machen, ich muß das ganze Programm schicken. dazu gehören auch das hilfe-package.
ich bin eine Privatperson, bei mir ist nicht viel zu holen. vom Prinzip her brauch ich noch nicht mal einen virenschutz.
wenn ich das Programm umsetze auf eine abstrakte form, dann ist das eine mühevolle sauarbeit.
also könnt ihr ruhig den ganzen code bekommen, das macht man in der regel wohl nicht. aber was solls.
das problem:
--------------
das Programm hat eine Statuszeile, die von den buttons mit Informationen versorgt werden. doch der Button Prozess1 erreicht die Statuszeile nicht.
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.applet.*;
import hilfen.Dateiarbeit;
import hilfen.Inform;
import hilfen.Meldungen;
import hilfen.Simput;
import hilfen.Zielpfad;
import java.awt.event.ActionListener;
import java.io.*;
import java.text.DateFormat;
import java.util.*;
import java.nio.file.*;
//Stand: Frameaufbau wurde mit Methoden untersetzt
// das Programm unterscheidet einen primären Frame und einen sekundären Frame
// der sekundärFrame wird allerdings noch nicht mit Prozessen untersetzt
// der Button Update wird erst einmal versteckt, außerdem sind fehler drin.
// wird der quit-button gedrückt, sollte der frame2 wegen dispose() eigentlich
// gelöscht werden. das macht er aber nicht, er behält seine daten ?
// Fehler wird erst einmal ignoriert, brauche die statuszeile und das Inputfenster
public class Lesen
{
public static String strVersion="28052019.1 \n DienstVersion 1.1.";
public static String[] Spalten;
public static int Zeilenanzahl2;
public static int Spaltenzahl;
public static String Datafile;
public static String pfad;
public static String TextLine[];
public static String T="";
public static String[] Zeilen;
public static Lesen le = new Lesen();
public static String[] Zeilen3;
public static Dateiarbeit da = new Dateiarbeit();
Meldungen mel = new Meldungen();
Inform in = new Inform();
Zielpfad zi = new Zielpfad();
public static void createFrame()
{
LesenFrame frame = new LesenFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
public String Ziel()
{
String Ziel[]=zi.Zielpfad();
String Z=Ziel[0]+"\\"+Ziel[1]+"\\"+Ziel[2]+"\\"+Ziel[3]+"\\"+Ziel[4];
//System.out.println("Zielpfad: "+Z);
String Ausgabe="";
int Fehlercode=0;
Path pathname = Paths.get(Ziel[0],Ziel[1],Ziel[2],Ziel[3],Ziel[4]);
//wenn der Backuppfad geändert wird funktioniert das nicht mehr !
if (Files.exists(pathname))
{Fehlercode=2;
Ausgabe = mel.Fehler(Fehlercode, Z);
System.out.println("");} //System.out.println(Ausgabe);}
else
if (Files.notExists(pathname))
{Fehlercode=102;
Ausgabe = mel.Fehler(Fehlercode, Z);
System.out.println(Ausgabe);
System.exit(0);}
else
{Fehlercode=103;
Ausgabe = mel.Fehler(Fehlercode, Z);
System.out.println(Ausgabe);
System.exit(0);
//z.B. schreibgeschützt ?
//System.out.println(pathname+" hat einen unbekannten Status."); //Originaltext aus Java_7.pdf
}
return(Z);
}
public static void main(String[] args) throws IOException
{
Lesen le = new Lesen();
pfad=le.Ziel();
Datafile=pfad+"\\"+"Backup.dat";
DataInput aD1 = new DataInputStream(new FileInputStream(Datafile));
//DataOutput aD0 = new DataOutputStream(new FileOutputStream("ziel.txt")); //das ziel ist ein Array und keine Datei
String line2;
String line="";
Zeilenanzahl2=0;
//int d=0;
while ((line2 = aD1.readLine()) !=null)
{
StringBuffer modifiedLine = new StringBuffer(line2);
//der gesamte Inhalt der Datei wird sequentiell von einem STREAM eingelesenLesen und auf einen String geschickt //fehler
T=T+modifiedLine.toString();
Zeilenanzahl2=Zeilenanzahl2+1;
}
createFrame();
}
}
/** Ein Rahmen, der eine Grundfläche (Panel) für die Meldung enthält */
class LesenFrame extends JFrame implements ActionListener
{
public static String space1="";
public JButton konvert=new JButton("Sichern");
public JButton update=new JButton("Update");
public JButton Button2 = new JButton("EXIT");
public Label lefty=null;
public LesenPanel lep= new LesenPanel();
public Container contentPane=null;
public JLabel label=null;
public LesenPanel panel = new LesenPanel();
public Font f2 = new Font("TimesRoman", Font.ITALIC, 25);
public Font f1 = new Font("Helvetica", Font.BOLD, 22);
public Dimension screenSize=null;
//im nachhinein als Ergänzung
public Label lefty2=null;
public String Status="Wähle eine Funktion";
void Eigenschaften()
{
space1 ="Verwaltung der MySQL BackupKenndaten";
lefty = new Label(space1);
lefty.setFont(f2);
konvert.addActionListener(this);
konvert.setToolTipText("speichern der Programmausgabe in Backup.frm 1");
update.addActionListener(this);
update.setToolTipText("update 1 ");
Button2.addActionListener(this);
label = new JLabel(Lesen.strVersion+" ");
label.setForeground(new Color(0,128,128));
//label.setBackground(new Color(0,128,128)); //label einfärben, geht nicht warum ?
//den Inhalt des Panels holen
contentPane = getContentPane();
panel.setForeground(Color.red);
panel.setBackground(Color.lightGray);
//Elemente aufs Panel senden
panel.setLayout(new FlowLayout());
panel.add(label);
panel.add(lefty);
panel.add(Button2);
panel.add(konvert);
panel.add(update);
//das Panel auf den Frame schicken
contentPane.add(panel);
//die Ergänzung
contentPane = getContentPane(); //bestehende Inhalte holen
lefty2 = new Label(this.Status);
JPanel panel= new JPanel();
panel.add(lefty2);
panel.setBackground(new Color(200,200,228));
panel.setForeground(Color.WHITE);
contentPane.add(panel, BorderLayout.SOUTH);
//Statusline(Status);
}
void Statusline(String Status)
{
//panel.add(lefty2);
contentPane = getContentPane(); //bestehende Inhalte holen
lefty2 = new Label(Status);
JPanel panel=new JPanel();
panel.add(lefty2);
panel.setForeground(Color.WHITE);
panel.setBackground(new Color(0,128,128));
contentPane.add(panel, BorderLayout.SOUTH);
}
void Bildschirmabmessungen_holen()
{
//Bildschirmabmessungen holen
Toolkit kit = Toolkit.getDefaultToolkit();
screenSize = kit.getScreenSize();
int screenHeight=screenSize.height;
int screenWidth = screenSize.width;
//Rahmen auf bildschirm zentrieren
setSize(screenWidth / 2, screenHeight / 2);
setLocation(screenWidth / 4, screenHeight / 4);
setTitle("Lesen "+Lesen.strVersion);
setSize(WIDTH, HEIGHT);
}
public LesenFrame()
{
Lesen le = new Lesen();
Dateiarbeit dar = new Dateiarbeit();
Eigenschaften();
Statusline(Status);
Bildschirmabmessungen_holen();
}
public String[] TextLesen(String Datei, int Zeilenanzahl2, String T)
{
String[] Zeilen = new String[Zeilenanzahl2]; //Zeilenanzahl2];
int pos=0;
String Start;
for (int i = 0; i < Zeilenanzahl2; i++)
{
pos = T.indexOf(";");
Start = T.substring(0,1);
//3. copy von Start bis 30
Start = T.substring(0,pos);
Zeilen[i]=Start;
//4. schiebe das stück von pos+1 bis T.lenght auf T
T = T.substring(pos+1,T.length());
Zeilen[i]=Start; //läuft
}
//System.out.println("der String T :"+T);
return(Zeilen);
}
public void Nummerierung(String[] Zeilen)
{
//die For beginnt bei i=1 , wegen dem kopf
String R=""; String R1=""; String nummer="";
for (int a=1; a < Lesen.Zeilenanzahl2; a++)
{
R = Zeilen[a];
R1= Zeilen[a].substring(2,R.length());
nummer="'"+Integer.toString(a);
Zeilen[a]=nummer+R1;
}
}
public String[] createSpalten(String[] Zeilen, int SpZ)
{
int start=0;
int sp=0;
int pos= Zeilen[0].indexOf("'");
Lesen.Spaltenzahl=SpZ;//
String H1 = "";
//String[] Spalten = new String[Lesen.Spaltenzahl]; //brauche ich nicht, aber egal
Lesen.Spalten = new String[Lesen.Spaltenzahl];
//Hilfsvariablen für die do
int ido=0;
int Startdo=0;
int posdo=0;
String E1="";
String E3=""; //hier wird E1 aufaddiert
int Solllae=0;
int Istlae =0;
int variabel=0;
int u=0;
int i=0;
int Laenge=Zeilen.length-1;
for (i=1; i <= Zeilen.length-1; i++)
{ //hier laufen die zeilen durch
ido=0; posdo=0; E1="";E3="";
//hier wird die spalte bestimmt
do {
//Suche das erste '
posdo = Zeilen[i].indexOf("'");
//kopiere aus E von Start bis pos-1
E1 = Zeilen[i].substring(Startdo,posdo);
//für das neue E: kopiere von der Stelle pos-1 bis E.length();
Zeilen[i] = Zeilen[i].substring(posdo+1, Zeilen[i].length());
//ergänze E1 um 3 space
E1=E1; //+" ";
// variabel = soll-istlae
if (ido==0)
{ variabel=0;
E1=E1+" ";
}
if ((ido==1)||(ido==2)||(ido==3))
{
Solllae=18;
variabel=Solllae-E1.length();
for (u=0; u < variabel; u++)
{
E1=E1+" ";
}
}
if (ido==4)
{
Solllae=20;
variabel=Solllae-E1.length();
for (u=0; u < variabel; u++)
{
E1=" "+E1+" ";
}
}
if ((ido==5)||(ido==6))
{
Solllae=24;
variabel=Solllae-E1.length();
for (u=0; u < variabel; u++)
{
E1=E1+" ";
}
}
if (ido==7) //Test false or true ?
{
Solllae=15;
variabel=Solllae-E1.length();
for (u=0; u < variabel; u++)
{
E1=""+E1+" ";
}
}
//spalte 8 TestTime ist wie es aussieht nicht nötig, kommt von alleine !
u=0;
//gehe nach oben und hole das nächste Stück beginnend von der neuen startposition Start bleibt 0 !
//wieder zusammensetzen
E3=E3+E1;
ido ++;
}while(ido <9);
Zeilen[i]=E3;
}
return(Zeilen);
}
public int SpaltenZ(String[] Zeilen)
{
//ermittelt die Anzahl der ' im Kopf
int k=0; int pos=0; String T1="";
T1=Zeilen[0];
int r=0; int Spaltenanzahl=0;
for (k=0; k < T1.length(); k++)
{
pos = T1.indexOf("'");
//this.Enter();
T1=T1.substring(pos+1,T1.length());
if (T1.length() == 0)
{
Spaltenanzahl=r+1; k=1;
}
else {k=1; r++;}
}
return(Spaltenanzahl);
}
public void doClick_1()
{ //DatenSicherung der formatierten Ausgabe
//Zeilen2[i] kommt hier nicht an. darum wurde in Lesen String[] Zeilen3 definiert;
//mit Zeilen2 soll nicht weiter experimentiert werden.
String time="";
File f = new File(Lesen.Datafile);
if (f.exists())
{
DateFormat df = DateFormat.getInstance();
Date d = new Date(f.lastModified());
time = df.format(d);
}
//System.out.println(Lesen.pfad); //kommt der zielpfad rein ?
String fName=Lesen.pfad+"\\"+"Backup.frm";
String Anzeigetxt=time;
hilfen.Dateiarbeit.append_writefile2(fName, Lesen.Zeilen3, Anzeigetxt);
}
public void doClick_2()
{
System.out.println("button Prozess1");
Status="Reaktion von Prozess1";
/*
contentPane = getContentPane(); //bestehende Inhalte holen
lefty2 = new Label(Status);
JPanel panel=new JPanel();
panel.setForeground(Color.WHITE);
panel.add(lefty2);
contentPane.add(panel, BorderLayout.SOUTH);
*/
Status="Reaktion auf Prozess1";
Statusline(Status);
}
public void doClick_3()
{
second_frame se = new second_frame();
se.createFrame();
se.Eigenschaften();
}
public void actionPerformed(ActionEvent e)
{
String FileName="";
String strComm = e.getActionCommand();
String Inhalt ="";
//JOptionPane.showMessageDialog(null,strComm + " Actionseingangs Kontrolle");
if (strComm.equals("Sichern"))
{
String Notiz = "in "+Lesen.pfad+"\\"+"Backup.frm";
JOptionPane.showMessageDialog(null,strComm + " "+Notiz);
doClick_1();
}
if (strComm.equals("Prozess1"))
{
String Notiz = "Verlasse das Fenster:";
JOptionPane.showMessageDialog(null,strComm + " "+Notiz);
//myWindow2.hide(); //deaktiviert das Fenster, das ist ein zwiter frame
//myWindow2.dispose();
doClick_2();
}
if (strComm.equals("Update"))
{
String Notiz = "Backupinformationen updaten";
JOptionPane.showMessageDialog(null,strComm + " "+Notiz);
doClick_3();
}
}
public static final int WIDTH = 1200;
public static final int HEIGHT = 500;
}
class second_frame extends JFrame implements ActionListener
{
//ActionListener act=new ActionListener();
public static second_frame frame_ = new second_frame();
public static Label lefty=null;
public static Container contentPane=null;
public static LesenPanel panel = new LesenPanel();
public static String space1="";
public static Font f2 = new Font("TimesRoman", Font.ITALIC, 25);
public static Font f1 = new Font("Helvetica", Font.BOLD, 22);
public Dimension screenSize=null;
public JButton Button2 = new JButton("Quit");
//im nachhinein als Ergänzung
public Label lefty2=null;
public static void createFrame()
{
frame_.dispose();
frame_.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame_.show();
}
public void Eigenschaften()
{
frame_.space1="second Frame TEST";
lefty = new Label(frame_.space1);
lefty.setFont(f2);
contentPane = frame_.getContentPane();
panel.setForeground(Color.cyan);
panel.setBackground(Color.blue);
panel.setLayout(new FlowLayout());
panel.add(lefty);
panel.add(Button2);
contentPane.add(panel);
frame_.setTitle("Anwendung");
frame_.setSize(400, 300);
Button2.addActionListener(this);
//die Ergänzung
lefty2 = new Label("Statuszeile");
JPanel panel2= new JPanel();
panel2.add(lefty2);
panel2.setBackground(new Color(0,128,128));
panel2.setForeground(Color.WHITE);
contentPane.add(panel2, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e)
{
String strComm = e.getActionCommand();
if (strComm.equals("Quit"))
{
frame_.dispose(); //dispose();
}
}
}
/*
*/
/** Eine grundfläche die eine Meldung anzeigt */
class LesenPanel extends JPanel
{
Dateiarbeit da=new Dateiarbeit();
private String[] Null;
public void paintComponent(Graphics g)
{
super.paintComponent(g); //arg0
LesenFrame no = new LesenFrame();
Lesen le=new Lesen();
String[] Zeilen2 = new String[Lesen.Zeilenanzahl2]; //Zeilen2 ist das ZielArray, muß genauso bgroß wie die quelle
Zeilen2 = no.TextLesen(Lesen.Datafile,Lesen.Zeilenanzahl2,Lesen.T);
le.Zeilen3=Zeilen2; //Null;
int SpZ = no.SpaltenZ(Zeilen2);
//Selektion der Spalten
Zeilen2=no.createSpalten(Zeilen2,SpZ);
no.Nummerierung(Zeilen2);
String Kopf = "Nr. AltName TimeStamp NeuName Size in Byte CreateDate&Time CopyDate&Time TEST TestDate&Time ";
g.setFont(new Font("Serif", Font.BOLD, 18));
int MESSAGE_X= 35;
int MESSAGE_Y=100;
setForeground(Color.blue);
g.drawString(Kopf, MESSAGE_X, MESSAGE_Y);
MESSAGE_Y = MESSAGE_Y+30;
g.setFont(new Font("TimesRoman", Font.BOLD, 15));
for (int i = 1; i < Zeilen2.length; i++)
{
g.drawString(Zeilen2[i], MESSAGE_X, MESSAGE_Y);
MESSAGE_Y=MESSAGE_Y+12;
}
}
}
//die hilfe.Klassen muß ich auch schicken, sonst könnt ihr nichts mit meinem Programm anfangen
package hilfen;
public class Zielpfad
{
public String strVersion="14042019.1";
public String[] Zielpfad()
{
String Pfad[]= {"H:", //0
"Backup",
"MySQL",
"Primaer",
"mysqldump"}; //4
//sollten weitere Programme folgen, die diese Funktion nutzen ist das array so weiter zu schreiben
return(Pfad);
}
}
//Simput.java fehlt, die wurde in diesem Programm nicht verarbeitet
//Meldung.java fehlt auch dto.
//nform.java fehlt
//Dateiarbeit.java
package hilfen;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import hilfen.Meldungen;
import hilfen.Inform;
import java.util.Date;
import java.text.*;
public class Dateiarbeit
{
//'Dateiarbeit.class' wird im Konsolebetrieb mit der ENV-Variable CLASSPATH systemweit bekannt gemacht
//die hier liegenden Methoden müssen so geschrieben werden, das andere Programme ebenfalls zugreifen können
public String strVersion="15052019.1";
public String strText="Methoden zur Dateibehandlung";
public String[] Eigenschaften =new String[8];
public long bytezahl=0;
public String now;
public String copyT;
Meldungen me = new Meldungen();
public void clsTotal() //19
{
int s=30;
String[] delete = new String[s];
for (int i =0; i < delete.length; i++)
System.out.println(" ");
}
public static void append_writefile2(String fName, String Zeilen2[],String Anzeigetxt)
{
File file = new File(fName);
Writer fw =null;
try
{ String now= new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(new Date());
fw = new FileWriter( file,false);
//fw.append( System.getProperty("line.separator") ); // e.g. "\n"
fw.append("#Diese Datei wurde von Lesen.java am "+now+" vom Backup.dat {erstellt am "+Anzeigetxt+"} abgeleitet.\n");
fw.append("#..... sammelt keine Daten und gibt sie auch nicht an SQL weiter\n");
fw.append("#..... wurde von Lesen.java mit der Funktion DATENSICHERUNG erzeugt\n");
fw.append("#..... und dient der Anzeige der formatierten Protokolldaten.\n");
fw.append("#\n");
fw.append("# ! lade die Datei mit Notepad.exe um die Formatierung zu sehen !\n\n");
int i=0;
for (i=0; i < Zeilen2.length; i++)
{fw.append(Zeilen2[i]+"\n");}
}
catch ( IOException e ) {
System.err.println( "Konnte Datei nicht erstellen" );
}
finally {
if ( fw != null )
try { fw.close(); } catch ( IOException e ) { e.printStackTrace(); }
}
//System.out.println(file.getAbsolutePath());
}
public void append_writefile(String fName, String Data[],String Anzeigetxt)
{
File file = new File(fName);
Writer fw =null;
try
{
fw = new FileWriter( file,true);
fw.append( System.getProperty("line.separator") ); // e.g. "\n"
fw.append(Data[0]+"'"+Data[1]+"'"+Data[2]+"'"+Data[3]+"'"+Data[4]+"'"+Data[5]+"'"+Data[6]+"'"+Data[7]+"'"+Data[8]+"';");
int Fehlercode=05;
String Ausgabe = me.Fehler(Fehlercode, Anzeigetxt);
System.out.println(Ausgabe);
}
catch ( IOException e ) {
System.err.println( "Konnte Datei nicht erstellen" );
}
finally {
if ( fw != null )
try { fw.close(); } catch ( IOException e ) { e.printStackTrace(); }
}
}
public int argumente(String arguments[])
{
//System.out.println("in Dateiarbeit argumente");
int code=99;
if (arguments.length ==0)
{
//System.out.println("Abfang wenn Parameter=0");
int Fehlercode=100;
Meldungen mel = new Meldungen();
String Ausgabe = mel.Fehler(Fehlercode," Beachte die Betriebsbedingung des Programms" );
System.out.println(Ausgabe);
Inform in2 = new Inform();
System.out.println(" ");
in2.Funktionsumfang();
//System.exit(1);
}
if (arguments.length > 0)
{ code =0; }
else { code=100; }
return(code);
}
public void pause(int warte)
{
String Arbeitsort="";
File f2 = new File(Arbeitsort);
Meldungen f3=new Meldungen();
Arbeitsort = f2.getAbsolutePath();
int Fehlercode=300;
String Ausgabe = f3.Fehler(Fehlercode,Arbeitsort);
System.out.println(Ausgabe);
int jPause=0; int x1=0;
while (jPause < warte)
{
jPause=jPause+1;
for (x1=0; x1 < 20; x1++) {System.out.print("\rPause. CTRL-C möglich. Warte bis "+warte+" "+jPause);}
}
this.Enter(); //this.Enter() okay
}
public void Enter() //Enter() funktioniert
{
try
{
String taste;
BufferedReader infile = new BufferedReader ( new InputStreamReader (System.in));
// String lesen
System.out.println (" ... press da.ENTER");
taste = infile.readLine();
} catch (Exception e) { System.out.println("falsche Eingabe - " + e);}
}
public int del(String dname)
{
File f = new File(dname); int code=0;
if (f.exists())
{ code=6;
f.delete();
}
// code=0;
return(code);
}
public int fName(String Pfadname)
{
//Erzeugung des Arrays
File f = new File(Pfadname); int code=0;
if (f.exists())
{ code=1;
bytezahl=f.length();
DateFormat df = DateFormat.getInstance();
Date d = new Date(f.lastModified());
String time = df.format(d);
String now = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(new Date());
Eigenschaften[0]="0"; //lfdnr, das ist ein rechenwert, der muß konvertiert werden vopn int >String
Eigenschaften[1]=f.getAbsolutePath(); //AltName = dname
Eigenschaften[2]="leer"; //NeuName, ist hier noch unbekannt, muß anderswo eingebracht werden
Eigenschaften[3]=String.valueOf(bytezahl); //Size(byte]
Eigenschaften[4]=now; //CreateDate & Time Zeit1
Eigenschaften[5]="Kopiert am Datum und Zeit"; //ist vorhanden
Eigenschaften[6]=time; //Datumsstempel der Alt-Datei
Eigenschaften[7]="frei"; //freier arrayplatz
}
else { code=101; }
return(code);
}
public void showDatei_Eigenschaften()
{
int Merkmale=this.Eigenschaften.length;
System.out.println("");
System.out.println("Anzahl der Merkmale : " + Merkmale);
System.out.println("\n-----------------------------------------------------------------------------------------------------------------------------------");
System.out.println(" Standort der Datei : " + this.Eigenschaften[1]);
System.out.println(" Datumstempel der Alt-Datei : " + this.Eigenschaften[6]);
System.out.println(" Dateigroesse in Bytes : " + this.bytezahl);
System.out.println(" Laufzeit des Programms : " + this.Eigenschaften[4]);
}
public String Systemzeit()
{
String syszeit = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(new Date());
return(syszeit);
}
public String renameTo(String argName)
{
//für eine Datei ist ein neuer Name zu generieren. Der alte name kommt ohne suffix rein
//der neue Name wird gebildet als verkettung des alten mit der systemzeit
//die Systemzeit wird in einer unabhängigen methode separat erzeugt
//holen der systemzeit
now =this.Systemzeit();
argName=argName+"_";
//zusammensetzen
String s2 = argName+now;
//Stringoperation 1: entfernen der doppelpunkte, ersetzen durch punkt
s2=s2.replace(':','.');
//Stringoperation 2: entfernen des space, ersetzen durch _
String neuName = s2.replace(' ','_');
return(neuName);
}
public void filecopy2(String que, String zie)
{
Path quelle = Paths.get(que);
Path ziel = Paths.get(zie);
try
{
long zeit = System.currentTimeMillis();
System.out.println("Kopieren von "+quelle+" in "+ziel+ " gestartet:");
Files.copy(quelle, ziel, StandardCopyOption.REPLACE_EXISTING);
zeit = System.currentTimeMillis()- zeit;
copyT=this.Systemzeit();
int Fehlercode=03;
String Ausgabe = me.Fehler(Fehlercode, "Es wurden " + Files.size(quelle) + " Bytes kopiert. "+ "(Benoetigte Zeit: " + zeit + " Millisekunden.)");
System.out.println(Ausgabe);
} catch (IOException e)
{
int Fehlercode=106;
String Ausgabe = me.Fehler(Fehlercode, " Datei ist nicht existent - EXIT -");
System.err.println(e.getMessage()+"\n"+Ausgabe);
System.exit(0);
}
}
}
Zuletzt bearbeitet von einem Moderator: