Netzwerkdatei/-verzeichnis lesen und schreiben

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

Zugriff auf eine Netzwerkressource ist nicht das gleiche, wie Zugriff auf das FileSystem. Dass es sich unter Windows dennoch so anfühlt, als ob es das gleiche wäre, liegt daran, dass Windows das ganze Netzwerkgeraffel vor Dir als Programmierer verbirgt. Das gleiche geht auch unter Unixoiden Systemen (da zähl ich Macs jetzt mal mit dazu). Auch dort kann man Netzlaufwerke ins lokale Filesystem einbinden. Das Stichwort dazu ist SMB-Mount. Falls das nicht geht/Du das nicht möchtest, bist Du mit JCIFS auf dem richtigen Weg. Du hast ja bereits das SmbFile erfolgreich erstellt. Mit diesem kannst Du auch Output-/Inputstreams bzw Reader/Writer erzeugen. Die entsprechenden Implementierungen heißen genau so, wie die entsprechenden Java-Klassen für normale Filezugriffe nur jeweils mit SMB davor.

Dank dir.
Habe es nun nach ein wenig probieren auch hinbekommen eine Text-Datei auszulesen.
Hier wie ich es gemacht habe:

						SmbFile smbFile 	= nfo.openFile(path+myPath);
						if (smbFile.exists()) {
							if (smbFile.canRead()) {
								InputStream ios			= new SmbFileInputStream(smbFile);
						        BufferedReader br   	= new BufferedReader(new InputStreamReader(ios));
						        String line;
						         
						        while ((line = br.readLine()) != null) {
						        	System.out.println(line);
						        }
						        br.close();   								
							}
						}

die Methode openFile:

	public SmbFile openFile(String path) throws MalformedURLException {
		path							= path.replace("\\", "/");
		String smb						= "smb:"+path;
		SmbFile f 						= new SmbFile(smb, this.auth);
		return f;
	}