Java 使用JCIFS訪問網絡文件共享的工具類
public class UploadDownloadUtil
{
/**
* 從共享目錄拷貝文件到本地
* @param remoteUrl 共享目錄上的文件路徑
* @param localDir 本地目錄
*/
public void smbGet(String remoteUrl, String localDir)
{
InputStream in = null;
OutputStream out = null;
try
{
SmbFile remoteFile = new SmbFile(remoteUrl);
//這一句很重要
remoteFile.connect();
if (remoteFile == null)
{
System.out.println("共享文件不存在");
return;
}
String fileName = remoteFile.getName();
File localFile = new File(localDir + File.separator + fileName);
in = new BufferedInputStream(new SmbFileInputStream(remoteFile));
out = new BufferedOutputStream(new FileOutputStream(localFile));
byte[] buffer = new byte[1024];
while (in.read(buffer) != -1)
{
out.write(buffer);
buffer = new byte[1024];
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
out.close();
in.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
/**
* 從本地上傳文件到共享目錄
* @Version1.0 Sep 25, 2009 3:49:00 PM
* @param remoteUrl 共享文件目錄
* @param localFilePath 本地文件絕對路徑
*/
public void smbPut(String remoteUrl, String localFilePath)
{
InputStream in = null;
OutputStream out = null;
try
{
File localFile = new File(localFilePath);
String fileName = localFile.getName();
SmbFile remoteFile = new SmbFile(remoteUrl + "/" + fileName);
in = new BufferedInputStream(new FileInputStream(localFile));
out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));
byte[] buffer = new byte[1024];
while (in.read(buffer) != -1)
{
out.write(buffer);
buffer = new byte[1024];
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
out.close();
in.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
UploadDownloadUtil test = new UploadDownloadUtil();
// smb:域名;用戶名:密碼@目的IP/文件夾/文件名.xxx
// test.smbGet("smb://szpcg;jiang.t:xxx@192.168.193.13/Jake/test.txt",
// "c://") ;
// test.smbPut("smb://szpcg;jiang.t:xxx@192.168.193.13/Jake",
// "c://test.txt");
//用戶名密碼不能有強字符,也就是不能有特殊字符,否則會被作為分斷處理
test.smbGet("smb://CHINA;xieruilin:123456Xrl@10.70.36.121/project/report/網上問題智能分析助手使用文檔.doc",
"c://Temp/");
}
}</pre>
本文由用戶 gdy8 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!