Wie kopieren Sie eine Datei vom Linux-System auf Windows-system mit Java-Programm?
Wie kopieren Sie eine Datei vom Linux-System auf Windows-system mit Java-Programm?
Vielen Dank für Ihre Hilfe.
Ich möchte die Datei kopieren unter linux : /inet/apps/test.java windows System1: C:\apps\test
Wir können das folgende Programm zu kopieren
public static void copyFiles(String fromFile, String toFile ){
FileInputStream from = null;
FileOutputStream to = null;
try {
from = new FileInputStream(fromFile);
to = new FileOutputStream(toFile);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = from.read(buffer)) != -1)
to.write(buffer, 0, bytesRead); //write
}catch(Exception e){e.printStackTrace();}
finally {
if (from != null)
try { from.close();} catch (IOException e) {}
if (to != null)try {to.close();} catch (IOException e) {}
}
}
Dieses Programm läuft auf linux.
so fromFile = /inet/apps/test
. Was werden die toFile
Weg. Wenn ich einfach C:\apps\test
dann, wie zur erkennen das Ziel als System1
.
Sie gehen zu müssen, zu erarbeiten, wenn Sie wollen eine Antwort, mein Freund. Vielleicht sollten Sie Lesen, Jon Skeet ' s Guide to Fragen SO: msmvps.com/blogs/jon_skeet/archive/2010/08/29/...
InformationsquelleAutor vishnu | 2010-10-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Java macht keine diffeence zwischen Windows-und Linux-Dateien. Also, so lange wie Sie haben Zugriff auf Dateisystem im computer, der von Ihrem java-Programm ausgeführt wird, können Sie einfach kopieren Sie Sie.
InformationsquelleAutor Pablo Santa Cruz
Ich denke, Sie werden Fragen über einige
Eigenschaften für das Programm.
In diesem Fall die Eigenschaften, sollte
konfigurierbar sein. Sie können halten die
Eigenschaften Datei im gleichen
Verzeichnis wie das Java-Programm oder in
die Klasse path.
Die property-Datei Aussehen könnte :
So, wenn Sie port-Umgebungen. Sie
don ' T benötigen, ändern Sie die Eigenschaften.
Wenn Sie sich Fragen, wie man zu port
test.java zu windows, dann einfach kopieren
die Datei JAVA_HOME-Verzeichnis auf
windows-und dann sind Sie gut zu gehen.
Sind oder Wenn Sie ein Dual-boot-system.
Sie können auf Ihre linux-Laufwerk
von windows, aber die anderen nicht
wie herum.
InformationsquelleAutor Vanchinathan Chandrasekaran
Wenn das Unix-system den Windows-Datei-system cross-montiert werden (z.B. über eine SMB-Freigabe), Sie sollten in der Lage sein zu finden, der Unix-Pfadname entspricht der Windows-Ziel-und kopieren, wie Sie derzeit tun.
Andernfalls werden Sie brauchen, um einen Datei-transfer-Protokoll von einer Art, die Datei zu kopieren.
Gibt es keine Java-Magie, die ermöglicht, Sie auf Magische Weise das schreiben von Dateien auf einen anderen computer. Das Betriebssystem muss so eingerichtet sein, dass dies geschehen kann.
FOLLOW-UP - Sie fragte:
Ich weiß nicht, wie ich sagen kann, das anders zu machen, Sie zu verstehen, aber hier geht:
Ihre Möglichkeiten in Java sind im Grunde das gleiche:
java.net.URL.connect()
zu ziehen. Wahrscheinlich gibt es 3rd-party-Java-Bibliotheken, die Sie verwenden können, "schieben" Sie die Datei auf einen FTP-server.java.lang.System.exec(...)
laufen einige Windows-spezifische Kommandozeilen-utility zu tun, das kopieren.In allen Fällen, Sie müssen herausfinden, wie die Zuordnung Pfadnamen zwischen der Windows-und Linux-Welten.
Sind nicht die Dateien auf der gleichen Maschine?
Chandrasekaran ist - Wenn ja, wie erklären Sie den Satz: "... dann, wie zur erkennen das Ziel als System1." ? Ich denke, das root-Problem ist, dass die OP denkt , Java magisch kopieren von Dateien von einem Computer auf einen anderen.
Ich habe keine Gedanken über die Magie. Also meine Frage war, wie das kopieren einer Datei von Windows zu Linux. Normalerweise machen wir FTP auf unix-Ohne Montage-oder verwenden wir FileZilla tool zur übertragung passiert. Hier, wenn wir wollen, zu tun, die gleiche Sache, aber java dann wie zu tun?
Ich verwirrt mit der Antwort, dass java keinen Unterschied zwischen Ihnen, dann dehnte ich meine Frage mit IO übertragen
InformationsquelleAutor Stephen C