java远程访问共享目录

使用smb(Server Message Block)协议读取或者写入局域网共享文件

下载并引用jcifs包http://jcifs.samba.org/

public void readfile()
{
     StringBuffer sb = new StringBuffer("");
     try {
               SmbFile f = new SmbFile("smb://Guest:456852@127.0.0.1/test/test.txt");
               if (f.exists() && f.isFile())
               {
                      int length = f.getContentLength();// 得到文件的大小
                      byte buffer[] = new byte[length];
  
                     SmbFileInputStream in = new SmbFileInputStream(f);
                     while ((in.read(buffer)) != -1)
                     {
                          sb.append(new String(buffer));
                     }
                   in.close();
              }
       }
       catch (Exception e)
       {
             e.printStackTrace();
       }
       return sb.toString();
}


public void writefile

{

    String   content="test content";
    SmbFile dirfile= new SmbFile(("smb://Guest:456852@127.0.0.1/test/test.txt");
    SmbFileOutputStream os=new SmbFileOutputStream(dirfile);
     if(!dirfile.exists())
     {
       dirfile.createNewFile();
       os.write(content.getBytes());
     }
    else
    {
        os.write(content.getBytes());
    }
    os.close();
}

 

报错:jcifs.smb.SmbException: Failed to negotiate
jcifs.smb.SmbException: Timeout trying to open socket
java.net.ConnectException: Connection refused: connect

 

研究了好久,未能解决,最后把jcifs包版本从jcifs-1.1.11.jar换成jcifs-1.3.25.jar,结果问题解决,估计是版本问题,但具体还是未知,如有高手看见,望能帮忙解答。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值