자바

2010-01-31 5 views
18
내가 코드에서 내 도메인 인증 (사용자 이름 및 암호)를 넣어 자바를 통해 원격 윈도우 컴퓨터의 공유 폴더에 연결해야

와 창에서 공유 폴더에 연결, 여기에 내 코드입니다자바

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); 
    } 

감사

+1

Oracle Java 8에서는 문제없이 작동합니다. – Robert

답변

29

당신은 JCIFS에서 SmbFileNtlmPasswordAuthentication를 사용해야합니다.

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()); 
} 
+0

나는 조금만 해봤지만이 답변은 그다지 좋은 결과를 내지 못합니다 ... 곧 더 좋은 것을 게시 할 것입니다. –

+0

완료, 작동하는 일부 코드를 추가했습니다. –

+0

NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication (null, "user", "password"); "user", "password"는 도메인 인증 권한입니까? – SShehab

0

당신이 (예 : 사용자 이름이나 암호가 알려져 있거나 필요하지 않습니다) 열려있는 공유 폴더에 액세스하는, 당신은 아래의 코드를 수행 할 수있는 경우 : 여기에 간단한 코드가 어떻게 수행하는 방법을 보여주는 것입니다

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]); 
}