{"id":3994,"date":"2017-10-24T18:54:00","date_gmt":"2017-10-24T16:54:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=3994"},"modified":"2017-10-24T18:54:00","modified_gmt":"2017-10-24T16:54:00","slug":"inselraus-zugriff-auf-smb-server-mit-jcifs","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2017\/10\/inselraus-zugriff-auf-smb-server-mit-jcifs\/","title":{"rendered":"Inselraus: Zugriff auf SMB-Server mit jCIFS"},"content":{"rendered":"<p>Microsoft Windows nutzt zur Datei- und Verzeichnisfreigabe, zur Freigabe von Druckern und Kommunikationsschnittstellen das Protokoll SMB (Server Message Block). Es ist weit verbreitet, und jede aktuelle Windows-Version l\u00e4sst sich als Client und Server konfigurieren \u2013 gleichzeitig gibt es unter Unix das popul\u00e4re Samba, einen SMB-Server unter Open Source, der von Andrew Tridgell und Kollegen entwickelt wurde.<\/p>\n<p>Mithilfe der jCIFS-SMB-Bibliothek (http:\/\/jcifs.samba.org\/) kann ein Java-Programm auf Datei- und Verzeichnisfreigaben zugreifen und Freigaben auflisten. jCIFS ist eine erweiterte Implementierung von CIFS und unterst\u00fctzt Unicode, Batching, verschl\u00fcsselte Authentifizierung, Transactions, das Remote Access Protocol (RAP) und Weiteres. Die Bibliothek steht unter der LGPL.<\/p>\n<p>Die Klassen jcifs.smb.SmbFile, SmbFileInputStream und SmbFileOutputStream verhalten sich \u00e4hnlich wie java.io.File, FileInputStream und FileOutputStream. Sie werden mit einem Dateipfad (URL) parametrisiert, der mit smb:\/\/ beginnt. Um eine Datei zu beziehen, muss vorher der Server spezifiziert werden. Dazu dienen Eigenschaften wie WINS. Sie werden mit Config.setProperty(&#8222;wins&#8220;, &#8222;IP-Adresse&#8220;); gesetzt.<\/p>\n<p>Beispiel:\u00a0Lies eine Datei aus, und kopiere sie um:<\/p>\n<pre>InputStream\u00a0in\u00a0=\r\n \u00a0\u00a0new\u00a0SmbFileInputStream(\u00a0\"smb:\/\/user:passwd@host\/c\/My\u00a0Documents\/doc.txt\"\u00a0);\r\n Path\u00a0target\u00a0=\u00a0\u2026\r\n Files.copy(\u00a0in,\u00a0target\u00a0);<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft Windows nutzt zur Datei- und Verzeichnisfreigabe, zur Freigabe von Druckern und Kommunikationsschnittstellen das Protokoll SMB (Server Message Block). Es ist weit verbreitet, und jede aktuelle Windows-Version l\u00e4sst sich als Client und Server konfigurieren \u2013 gleichzeitig gibt es unter Unix das popul\u00e4re Samba, einen SMB-Server unter Open Source, der von Andrew Tridgell und Kollegen entwickelt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-3994","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=3994"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3994\/revisions"}],"predecessor-version":[{"id":3995,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3994\/revisions\/3995"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=3994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=3994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=3994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}