Hallo,
ich habe hier ein kleines Problem, dass ihr vielleicht schnell lösen könntet. Will eine Datei per Eingabe kopieren und zwar indem ich gleichzeitig die zu kopierende Datei und den neuen Namen der Kopiedatei eingebe. Ich danke im voraus .
Eingabe: java CopyFile <oldFileName> <newFileName>
ich habe hier ein kleines Problem, dass ihr vielleicht schnell lösen könntet. Will eine Datei per Eingabe kopieren und zwar indem ich gleichzeitig die zu kopierende Datei und den neuen Namen der Kopiedatei eingebe. Ich danke im voraus .
Eingabe: java CopyFile <oldFileName> <newFileName>
Java:
import java.io.*;
public class CopyFile
{
private File src;
private File dest;
public CopyFile(File src, File dest)
{
this.src = src;
this.dest = dest;
if(!src.exists() || !src.canRead() || !src.isFile())
{
throw new IllegalArgumentException("Konnte nicht zugreifen oder die Datei lesen "+src);
}
if(dest.exists())
{
throw new IllegalArgumentException("Die Zeildatei besteht bereits: "+dest);
}
}
public void copy() throws IOException
{
BufferedInputStream in = new BufferedInputStream(new FileInputStream(src));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dest));
int b;
while( (b = in.read()) != -1)
{
out.write(b);
}
in.close();
out.close();
}
public static void main(String[] args)throws Exception
{
/*
BufferedReader keybd =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("Name der zu kopierenden Datei: ");
System.out.flush();
*/
if(args == null || args.length != 2) {
System.out.println("Usage: java CopyFile <oldFileName> <newFilename>");
System.exit(1);
}
CopyFile cp = new CopyFile(new File(args[0]), new File(args[1]));
try {
cp.copy();
} catch (IOException e) {
System.out.println("Fehler beim kopieren der Datei: ");
e.printStackTrace();
System.exit(1);
}
}
}