Discussion:
Netzwerklaufwerk mit Java einbinden
(zu alt für eine Antwort)
Siegfried Krüger
2004-02-27 20:38:26 UTC
Permalink
Hallo,
ich möchte eine Netzwerklaufwerk-Einbindung mit Java realisieren.Hier unten
ist meine Backup Klasse.Diese kopiert die Datenbank bonn
von "C:/mysql/data/bonn/" nach "d:/bonn/"(auf dem gleichen Server NT4.0).Nun
soll Laufwerk d durch ein Netzwerklaufwerk t ersetzt werden.Die Anmeldung an
das Netzlaufwerk t (Windows 2000)erfordert einen Benutzer und ein
Passwort,diese soll mit Java Code den man in der
BackupCopy Klasse einfügt erreicht werden.
Wer kann mir einen Ansatz geben wie ich sowas lösen kann,oder ein kleines
Code Beispiel?


package backup;
import java.io.*;
public class BackupCopy{
private String [] entries;
private byte[] buffer;
private FileInputStream in;
private FileOutputStream out;
private int read;
private File scr;
private File dest;

public BackupCopy(){
buffer=new byte[255];
in=null;
out=null;
read=0;


}
*******************************************
*Java Code für Anmeldung an Laufwerk T *
* Wie? *
*******************************************


public void listFiles(){
scr=new File("C:/mysql/data/bonn/");
entries=scr.list();
if(entries==null || entries.length<1){
return;
}

}
public void copyFile()throws IOException{
dest=new File("d:/bonn/");
if(!dest.exists()){
dest.mkdir();
}
for(int i=0;i<entries.length;i++){
try{
scr=new File("C:/mysql/data/bonn/"+ entries[i]);
dest=new File("d:/bonn/"+ entries[i]);
in=new FileInputStream(scr);
out=new FileOutputStream(dest);
while(true){
read=in.read(buffer);
if(read==-1){
//-1 bedeutet EOF
break;
}
out.write(buffer,0,read);

}
}finally{

if(in != null){
try{
in.close();
}
finally{
if(out !=null){
out.close();
}
}
}
}
}
}
********************************************
*Java Code für Abmeldung von Laufwerk T *
* Wie? *
********************************************
}

Gruß,
Siegfried
Peter Büttner
2004-02-27 20:52:23 UTC
Permalink
Post by Siegfried Krüger
Hallo,
ich möchte eine Netzwerklaufwerk-Einbindung mit Java realisieren.Hier unten
ist meine Backup Klasse.Diese kopiert die Datenbank bonn
von "C:/mysql/data/bonn/" nach "d:/bonn/"(auf dem gleichen Server NT4.0).Nun
soll Laufwerk d durch ein Netzwerklaufwerk t ersetzt werden.Die Anmeldung an
das Netzlaufwerk t (Windows 2000)erfordert einen Benutzer und ein
Passwort,diese soll mit Java Code den man in der
BackupCopy Klasse einfügt erreicht werden.
Wer kann mir einen Ansatz geben wie ich sowas lösen kann,oder ein kleines
Code Beispiel?
http://jcifs.samba.org/


Dann gibt es noch
http://www.norbert.hranitzky.com/jcifs/jcifs.htm
das habe ich mal verwendet, hat ein paar bugs und wohl seit 11'2000
nicht mehr weiterentwickelt (Umlaute in Freigaben/Dateinamen? etc)
Versuch lieber jcifs.samba.org, das wird aktiv entwickelt.





Grüße
Peter
--
Shell&Jar : Individual icons for jars
jMineSweeper : extended
www.PeterBuettner.de
Peter Büttner
2004-02-28 00:53:03 UTC
Permalink
Post by Siegfried Krüger
ich möchte eine Netzwerklaufwerk-Einbindung mit Java realisieren.Hier unten
ist meine Backup Klasse.Diese kopiert die Datenbank bonn
von "C:/mysql/data/bonn/" nach "d:/bonn/"(auf dem gleichen Server NT4.0).Nun
soll Laufwerk d durch ein Netzwerklaufwerk t ersetzt werden.Die Anmeldung an
das Netzlaufwerk t (Windows 2000)erfordert einen Benutzer und ein
Passwort,diese soll mit Java Code den man in der
BackupCopy Klasse einfügt erreicht werden.
Wer kann mir einen Ansatz geben wie ich sowas lösen kann,oder ein kleines
Code Beispiel?
Ich nochmal:

Du kannst auch einen Prozess starten, ist ja eh' nur für Windows,
net use ...
Parameter rausfinden mit /? für help hintendran.
Probiers mal auf der kommandozeile. Da steht bei dir
aber wahrscheinlich irgendwann ein Passwort in deiner
Kommandozeile. Evtl kannst du in- und outputstream zum
Prozess (NET USE ...)auch von Java aus beschreiben/lesen.

Dann wäre es wahrscheinlich eh besser das ganze ohne java zu
machen, à la
net use ...
copy x:\*.* y:\*.*
net use ... /delete ...


Grüße
Peter
--
Shell&Jar : Individual icons for jars
jMineSweeper : extended
www.PeterBuettner.de
Loading...