2015-07-10 11 views
5

i jcifs.smb.SmbException: Sistem belirtilen dosyayı bulamıyor musunuz? Aşağıdaki kod çalışırken

jcifs.smb.SmbException istisna

alıyorum:

public void m1(String b) throws IOException { 
     // TODO Auto-generated method**strong text** stub 

     BufferedReader br=null; 
     String urlToBackUpFile = "smb://" +b +"/" + "c$/Program Files/Office/Config/OfficeSyncData.ini"; 
     String cp="smb://" +b +"/" + "c$/Program Files/Office/Config/OfficeSyncData.txt"; 
     System.out.println("smb folder of source file" + urlToBackUpFile); 
     NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "usrname", "passwd"); 


      SmbFile dir = new SmbFile(cp, auth); 
      SmbFileInputStream in = new SmbFileInputStream(dir); 
     // br = new BufferedReader(new InputStreamReader(in)); 


      System.out.println(dir.getDate()); 
      SmbFile dest = new SmbFile (urlToBackUpFile,auth); 
      //count.copyTo(dest); 
      dir.copyTo(dest); 

    } 

nasıl: sistem dosyası

Kod belirtilen bulamıyor Çözdüm mü?

+0

Belirtilen yol "b" dır? –

+0

"b" değeri nedir ve istisna hangi satırı gösterir? –

cevap

1

Tüm yığın izi olmadan tam olarak emin olamıyorum, ancak çıkış boşluk karakterini yolunda belirtmeniz gerekebilir.

String urlToBackUpFile = "smb://" +b +"/" + "c$/Program\\ Files/Office/Config/OfficeSyncData.ini"; 

Ve eğer "b", aynı şeyi bir boşluk içerdiğinden emin olun:

bu deneyin.

DÜZENLENMİŞ: Ayrıca denemek için: yolu içermeyen bir yere yönlendirebilir misiniz? Bu, alan sözdiziminin sorunlarınızın kaynağı olduğunu kanıtlar ...

+0

En az iki '\' ye ihtiyacınız varsa, bu şekilde, yani program \\ dosyaları 'ndan kurtulmak isterseniz. Yine de yardım etmeyeceğini söylemiyorum. – geert3

+0

Üzgünüz, kodu çift '\' içerecek şekilde düzenledik. Belki de linux terminallerinin kabuk dili olarak (pencerelerde taklit edildiğinde bile) alanın kaçmasına ihtiyaç duyuyor olabilir. – gmconte