الاتصال بالمجلد المشترك في Windows مع Java
سؤال
أحتاج إلى الاتصال بمجلد مشترك على جهاز Windows عن بُعد عبر Java ، حيث أضع مصادقة المجال الخاصة بي (اسم المستخدم وكلمة المرور) في الكود ، إليك الرمز الخاص بي
File file = new File("\\\\theRemoteIP\\webapps");
File[] files = file.listFiles();
System.out.println("acssed done");
for (int i = 0; i < files.length; i++)
{
String name = files[i].getName();
System.out.println(name);
}
شكرًا
المحلول
يجب أن تستخدم smbfile و ntlmpasswordauthentication من عند jcifs. فيما يلي قطعة رمز بسيطة لتظهر لك كيفية القيام بها:
String url = "smb://yourhost/yourpath/";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "user", "password");
SmbFile dir = new SmbFile(url, auth);
for (SmbFile f : dir.listFiles())
{
System.out.println(f.getName());
}
نصائح أخرى
إذا كنت تصل إلى مجلدات مشتركة مفتوحة (أي اسم المستخدم أو كلمة المرور غير معروفة أو مطلوبة) ، فيمكنك اتباع الرمز أدناه:
String path="smb://172.16.0.11/";
SmbFile smbFile = new SmbFile(path);
String a[]=smbFile.list();
for(int i=0;i<a.length;i++)
{
System.out.println(a[i]);
}
لا تنتمي إلى StackOverflow