Dateien kopieren

Status
Nicht offen für weitere Antworten.
A

Andreas.K

Gast
tag,
kann ich in Java mit einem art "copy" befhel beliebige Datei-Typen kopieren??

Creez Andreas.
 
K

Körby

Gast
Ob das mit einem Befehl geht weiß ich nicht, aber man kann eine Datei einlesen und eine neue Datei erstellen, in die man den Inhalt der eingelesenen Datei reinschreibt.
 
A

Andreas.K

Gast
geht so was auch beispielsweise mit einer PDF Datei oder mit einer EXE Datei:

Creez Andreas
 

sliwalker

Top Contributor
Na klar.

Alles was eine Datei unter Windows ist lässt sich öffnen, lesen, schreiben usw.
Wie sinnvoll die Werte sind ist ein anderes Thema.

Aber gehen tut das tun tun...

greetz
SLi
 
A

Andreas.K

Gast
Wie siehts mit cmd/bat Files aus???
ist es auch möglich eine Bat Datei zu erstellen, die dan später ausgeführt wird.

gruß Andreas
 

The_S

Top Contributor
Zum Thema "Dateien kopieren" (einfacher und schneller gehts nicht):

Code:
public void copy(String src, String dest) throws IOException{
	File inputFile = new File(src);
	File outputFile = new File(dest);
 
	FileInputStream in = new FileInputStream(inputFile);
	FileOutputStream out = new FileOutputStream(outputFile);
		
	FileChannel inc=in.getChannel();
	FileChannel outc=out.getChannel();
		
	inc.transferTo(0,inc.size(),outc);
		
	inc.close();
	outc.close();
		
	in.close();
	out.close();
}

Zum Thema Bat-Datei erstellen:

Eine Bat-Datei ist nichts anderes als eine Textdatei mit Befehlen und der Endung ".bat". Von daher kannst du eine Bat-Datei ganz normal wie jede andere Textdatei auch mit z. B. einem BufferedWriter erzeugen.
 
A

Andreas.K

Gast
Zu dem Code, welche Variabeln muss ich da angeben dass er Funktioniert?
Und wie würdest du mir das insgesamt empfehlen? Mit dem Code, oder per bat Datei?

Gruß
Andreas
 

The_S

Top Contributor
Naja, die Quell- und die Zieldatei übergeben.

Achso, du wolltest über BAT-Datei kopieren!? Natürlich über Java kopieren! Unter Linux z. B. wirst du eine BAT-Datei nicht zum Laufen bekommen ;) .
 
A

Andreas.K

Gast
Kannst du mir noch sagen wie ich Copy aufrue?? brauche ich da noch zusätzliche Parameter??
copy(); geht nicht:

Copy Datei sieht nun so aus:
Code:
public void Copy() throws IOException{
   String src="C:\temp\text.txt";
   String dest="C:\temp\test\text.txt";
   File inputFile = new File(src);
   File outputFile = new File(dest);

   FileInputStream in = new FileInputStream(inputFile);
   FileOutputStream out = new FileOutputStream(outputFile);

   FileChannel inc=in.getChannel();
   FileChannel outc=out.getChannel();

   inc.transferTo(0,inc.size(),outc);

   inc.close();
   outc.close();

   in.close();
   out.close();
   }
 

The_S

Top Contributor
Methodennamen schreibt man klein. Du brauchst sonst nichts weiter, was kommt denn für eine Fehlermeldung? Nur "geht net" gibts net!
 
A

Andreas.K

Gast
Habe Methoden Namen nun geändert, kommt aber trozdem diese Fehler Meldung:

Combobox2.java:152:10: unreported exception java.io.IOException; must be caught or declared to be thrown
copy();
^
Note: Combobox2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error


PS: Datei soll kopiert werden wenn ich auf ein jButton drücke.

Gruß
Andreas
 
A

Andreas.K

Gast
Habe nun ein Try-Catch block eingefügt, allerdings mit derm Resultat, dass der catch Block ausgeführt wird.
An was kann das liegen?

Gruß Andreas.
 

The_S

Top Contributor
@ms Hm, weil lediglich eine Datei kopiert werden soll und es wohl anhand dieses kleinen Problems übertrieben wäre, eine rießige Lib mit jeder Menge balast mit sich rumzuschleppen und man sich zudem auch nicht mit evtl. vorhandenen Lizenzen auseinandersetzen muss.

@Threadsteller was wird denn für ein Fehler angezeigt?
 
A

Andreas.K

Gast
Hallo ms,
ich habe den Link erst eben gesehen.
Da gibt es eine Methode:
public static void copyFileToDirectory(java.io.File srcFile,
java.io.File destDir)
throws java.io.IOException
Doch wie ist diese Anzuwenden?

Wenn ich so so verwende:
public static void copyFileToDirectory(java.io.File C:\temp\text.txt,
java.io.File C:\temp\test)
throws java.io.IOException


kommt folgender Fehler:
CopyFileToDirectory.java:26:54: ')' expected
public static void copyFileToDirectory(java.io.File C:\temp\text.txt,
^
CopyFileToDirectory.java:26:55: illegal character: \92
public static void copyFileToDirectory(java.io.File C:\temp\text.txt,
^
CopyFileToDirectory.java:26:60: illegal character: \92
public static void copyFileToDirectory(java.io.File C:\temp\text.txt,
^
CopyFileToDirectory.java:27:55: illegal character: \92
java.io.File C:\temp\test)
^
CopyFileToDirectory.java:27:60: illegal character: \92
java.io.File C:\temp\test)
^
CopyFileToDirectory.java:29:1: ';' expected
^
6 errors

Kannst du mir vieleicht erklären, wei man diese Methode richtig anwendet??

Gruß
Andreas
 
A

Andreas.K

Gast
@Hobbit:
Wenn ich copy(); ohne ein try-catch Block ausführe kommt folgende Fehlermledung:
Combobox2.java:155:12: unreported exception java.io.IOException; must be caught or declared to be thrown
copy();
^
Note: Combobox2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error


Wenn ich ein try-catch Block einbaue, wird der catch Block ausgeführt, weil copy(); auf einen Fehler läuft.

Gruß Andreas.
 

The_S

Top Contributor
ja, und auf welchen Fehler? Poste doch einfach mal die Fehlermeldung, ansonsten kann ich dir nicht helfen.
 
A

Andreas.K

Gast
Welchen Fehler meinst du?
Den einen habe ich ja schon gepostet.

Combobox2.java:155:12: unreported exception java.io.IOException; must be caught or declared to be thrown
copy();
^
Note: Combobox2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

PS: Wenn ich einen Try-catch Block einbaue, kommt kein Fehler, er führt halt den teil im Try Block nicht aus.

Gruß Andreas.
 

Niki

Top Contributor
Probier mal das:

Code:
import java.io.*;

public class CopyFile{

	public static void main(String[] args) throws IOException{
		File file = new File("C:/Temp/test.txt");
		File directory = new File("C:/Temp/output");
		copyFile(file, directory);
	}

	public static void copyFile(File file, File dir)throws IOException{
		File destFile = new File(dir, file.getName());
		//4K Blöcke
		byte[] b = new byte[4096];
		FileInputStream fis = null;
		FileOutputStream fos = null;
		try{
			fis = new FileInputStream(file);
			fos = new FileOutputStream(destFile);
			int l = -1;
			while((l = fis.read(b)) != -1){
				fos.write(b, 0, l);
			}
			
		}finally{
			if(fis != null)
				fis.close();
			if(fos != null){
				fos.flush();
				fos.close();
			}
		}
	}
 

The_S

Top Contributor
@Andreas K.

Den Fehler, der ausgegeben wird, WENN der try-catch drin ist. Also so in etwa

Code:
public void copy() throws IOException {
// mein code
}

// aufrufende Methode
try {
    copy();
}
catch (IOException e) {
    e.printStackTrace();
}

Du solltest dir ausßerdem noch mal ein bisschen die Basics ansehen.

@ Niki

äußerst unperformand.
 
A

Andreas.K

Gast
@Niki,
Dein Programm Funktioniert, wenn ich es so starte.
Habe den Code nun in mein jFrame eingebaut und leider Funktioniert er da nicht.
Der copyFile Teil will ich starten, wenn ich einen jButton drücke. Jetzt ist nur die Frage ob ich eine public static void auch aus einer public void Methode starten kann.

hier der Code:

Code:
 public void jButton1ActionPerformed(ActionEvent evt)
  {
      File file = new File("C:/Temp/text.txt");
      File directory = new File("C:/Temp/test");
      copyFile(file, directory);
  }
 public void copyFile(File file, File dir)throws IOException
 {
      ...
 }

Folgende Fehlermeldung erscheint beim starten:
Combobox2.java:156:15: unreported exception java.io.IOException; must be caught or declared to be thrown
copyFile(file, directory);
^
Note: Combobox2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error


Gruß Andreas

PS: Hätte nicht gedacht, dass das kopieren so aufwendig wird...
 
G

Guest

Gast
Kann leider nicht editieren, im Code ist ein Fehler soll heißen:
Code:
public static void copyFile(File file, File dir)throws IOException 
{ 
      ... 
}

und nicht :

Code:
public void copyFile(File file, File dir)throws IOException 
{ 
      ... 
}

gruß Andreas
 

The_S

Top Contributor
argh ... das kopieren ist überhaupt gar nicht aufwendig. Du stellst dich nur an wie ein Hund zum Eierlegen :roll: .
 

The_S

Top Contributor
Niki hat gesagt.:
Kann sein dass es nicht so gut performt, aber es tut das was es tun soll.

Meins tut genauso was es tun soll und ist dabei um ein vielfaches schneller. Wenn unser Andreas es aber nicht gebacken bekommt schon vorgekautes in sein Programm einzubinden, dann liegt das nicht an meiner, noch an deiner Methode, sondern allein an der Unfähigkeit von Andreas.
 

Niki

Top Contributor
Da hast du wohl recht, aber ich muss sagen das deine Lösung wirklich schöner ist, ich werd mal stoppen um wieviel sie auch schneller ist...
 

The_S

Top Contributor
Den Unterschied merkt man vorallem bei größeren Dateien. Kopier mal n Gigabyte und vergleich das, viel Spaß beim Warten ;) .
 

Niki

Top Contributor
Ich habe es mal mit 15MB versucht, da ist meine Methode komischerweise schneller, hab leider im Moment kein GB-File da (Mein Sexfilme sind alle daheim :) )
 
A

Andreas.K

Gast
Naja, da hat Hobbit wohl recht!
Bin wohl zu dem die Methode zu starten!
Naja ich kuck des ganze mir mal noch mal Später an.
Danke an alle!!
Gruß Andreas
 

Niki

Top Contributor
Bei 300 MB sind es 2 Sekunden die deine Methode schneller ist, also nicht so der Unterschied, kann sein das es sich erst bemerkbar macht, je Größer die Datei ist
 

ms

Top Contributor
Andreas.K hat gesagt.:
Wenn ich so so verwende:
public static void copyFileToDirectory(java.io.File C:\temp\text.txt,
java.io.File C:\temp\test)
throws java.io.IOException


kommt folgender Fehler:
CopyFileToDirectory.java:26:54: ')' expected
public static void copyFileToDirectory(java.io.File C:\temp\text.txt,

Code:
		try {
			FileUtils.copyFileToDirectory(new File("C:\\temp\\test.txt"), new File("C:\\temp\\test"));
		} catch (IOException e) {
			e.printStackTrace();
		}

funktioniert einwandfrei, sofern 'C:\temp\text.txt' existiert.

ms
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Mehre Dateien parallel kopieren mit Multithreading Java Basics - Anfänger-Themen 8
B Dateien aus dem "resource" - Folder kopieren in Verzeichnis Java Basics - Anfänger-Themen 9
B Kopieren von Dateien mit Adminberechtigungen Java Basics - Anfänger-Themen 14
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
S Dateien in RAM kopieren und ausführen? Java Basics - Anfänger-Themen 4
B Dateien kopieren, entpacken, XML auslesen! Java Basics - Anfänger-Themen 7
S Dateien mittels Path(s) kopieren und umbenennen. Java Basics - Anfänger-Themen 4
B Erste Schritte Dateien ueber Netzwerk kopieren Java Basics - Anfänger-Themen 2
F Verzeichnisse und Dateien kopieren Java Basics - Anfänger-Themen 3
S Grosse Dateien kopieren/Verschieben Java Basics - Anfänger-Themen 14
S Dateien von einem Ordner in den anderen kopieren Java Basics - Anfänger-Themen 2
K Klonen und Kopieren von Dateien Java Basics - Anfänger-Themen 6
A Ordner + Dateien kopieren? Java Basics - Anfänger-Themen 2
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
C Dateien aus JAR auf die Festplatte kopieren Java Basics - Anfänger-Themen 15
E Ganze Ordner und Dateien kopieren Java Basics - Anfänger-Themen 2
G Dateien anlegen, kopieren bzw. speichern Java Basics - Anfänger-Themen 5
bernd Richtige Pfadangabe für das Kopieren von Dateien Java Basics - Anfänger-Themen 10
$ dateien kopieren und öffnen?!?! Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
I Dateien aus dem Resource Folder laden Java Basics - Anfänger-Themen 2
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
S Lese- / Schreibfähigkeit von Dateien sicherstellen Java Basics - Anfänger-Themen 1
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
MiMa Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
J Logging erzeugt zwei dateien.... Java Basics - Anfänger-Themen 7
A Dateien Verschieben Java Basics - Anfänger-Themen 1
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
E FTP Dateien hochladen Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
Korvinus Vergleichen von 2 csv-Dateien Java Basics - Anfänger-Themen 2
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
M "substring()" mit Dateien und Pfadangaben Java Basics - Anfänger-Themen 5
Voreck Jar Dateien Standart programm ändern Java Basics - Anfänger-Themen 12
K Dateien aus Source-Package verwenden Java Basics - Anfänger-Themen 10
F Threads ftp4j, viele Dateien upload Java Basics - Anfänger-Themen 5
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
X Dateien direkt hintereinander schreiben, Dateiname Java Basics - Anfänger-Themen 25
G Messwerte in 2 Dateien schreiben Java Basics - Anfänger-Themen 20
C Verarbeitung von sehr großen Dateien Java Basics - Anfänger-Themen 52
F Input/Output Dateien lesen/schreiben Java Basics - Anfänger-Themen 1
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
K Dateien lesen | IndexOutOfBoundsException Java Basics - Anfänger-Themen 2
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
S Resourcen-Dateien im Jar-File verfügbar machen (Intellij 14) Java Basics - Anfänger-Themen 14
J Dateien für anderen User "mitgeben" Java Basics - Anfänger-Themen 1
S Dateien mit Java verschieben Java Basics - Anfänger-Themen 6
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
E Dateien werden nicht gelöscht Java Basics - Anfänger-Themen 10
S Class Dateien decompilieren Java Basics - Anfänger-Themen 4
T Fehler beim Schreiben in Dateien! Java Basics - Anfänger-Themen 4
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
Z Mehrere XML-Dateien zu einer zusammenfügen Java Basics - Anfänger-Themen 3
K JAR Dateien einbinden - funkt nicht wie es sollte... Java Basics - Anfänger-Themen 22
J *.sql Dateien in Java Java Basics - Anfänger-Themen 1
P Dateien im Ordner auflisten. Java Basics - Anfänger-Themen 3
P Compiler-Fehler .java Dateien kompilieren und .class Dateien zur .jar Java Basics - Anfänger-Themen 4
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
M Input/Output Arbeiten mit extrem vielen Dateien Java Basics - Anfänger-Themen 8
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
N tar-Dateien Java Basics - Anfänger-Themen 6
B Methoden Dateien konvertieren Java Basics - Anfänger-Themen 3
L Dateien speichern/auslesen Java Basics - Anfänger-Themen 5
M Input/Output Probleme beim Parsen von CSV und TXT Dateien Java Basics - Anfänger-Themen 7
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
U Best Practice Nicht-permanente Links auf Dateien Java Basics - Anfänger-Themen 5
B In welchem (Default) Pfad erstellt Java Dateien? Java Basics - Anfänger-Themen 4
I Methoden zum lesen und speichern von Dateien Java Basics - Anfänger-Themen 2
B .ut dateien ignorieren und fortsetzen Java Basics - Anfänger-Themen 9
R Ressourcen in JAR-Dateien Java Basics - Anfänger-Themen 2
J jar Dateien global erreichbar machen Java Basics - Anfänger-Themen 3
L Zusammenführen mehrerer .txt Dateien Java Basics - Anfänger-Themen 4
M Dateien erstellen/ bearbeiten/ lesen Java Basics - Anfänger-Themen 9
O Java Dateien verschlüsseln? Java Basics - Anfänger-Themen 22

Ähnliche Java Themen

Neue Themen


Oben