Hallo Leute,
ich habe derzeit das Problem, dass ich gerne Dateien (bspw. eine txt-Datei) vom Netzwerk aus lesen und auch beschreiben möchte.
Das ganze funktioniert bisher mit den normalen Java-Funktionen so lange, wie der Benutzer mit Windows arbeitet und seine Kennung für den Zugriff aufs Netzwerk im Windows hinterlegt hat.
Also bspw. folgendes funktioniert:
File file = new File("\\x.x.x.x est est.txt")
if (file.exists()) {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
führe ich das gleiche Programm nun von einem MAC aus, funktioniert der Dateizugriff nicht.
Ich habe es schon mit http://jcifs.samba.org/ versucht, was vom Login her auch wunderbar funktioniert.
String smb = "smb://x.x.x.x/test/test.txt";
String msg = "";
try {
UniAddress mydomaincontroller = UniAddress.getByName(domain);
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(domain, username, password);
SmbSession.logon(mydomaincontroller, auth);
SmbFile f = new SmbFile(smb, auth);
if (f.exists()) {
msg = "Login erfolgreich.
Datei konnte gelesen werden";
} else {
msg = "Login erfolgreich.
Datei konnte gelesen werden";
}
JOptionPane.showMessageDialog(null, msg);
} catch (SmbException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
} catch (UnknownHostException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
} catch (MalformedURLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
}
Jedoch habe ich hier nicht herausfindein können, wie ich inhalte von Dateien auslesen und/oder verändern kann.
Welche Möglichkeiten gibt es bei Java, um Netzwerkressourcen so zu nutzen wie bspw. im Windows-Explorer?
Danke schon mal im voraus.
Gruß,
Carsten