现在的位置: 首页 > 综合 > 正文

samba 读取linux的共享文件

2012年07月01日 ⁄ 综合 ⁄ 共 1960字 ⁄ 字号 评论关闭
centos 下安装
yum install samba

um install samba samba-client samba-swat 有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。









配置参考如下: http:
//www.cnblogs.com/whiteyun/archive/2011/05/27/2059670.html 不要把共享文件夹放在root下 放在home下好一点(我就是在这里浪费时间了)
曾参考的URL:
http://blog.csdn.net/jastar/article/details/5639152
http://www.cnblogs.com/whiteyun/archive/2011/05/27/2059670.html
http://blog.csdn.net/zdwzzu2006/article/details/4209877
http://www.samba.org/
http://jingyan.baidu.com/article/8cdccae9be9367315413cde9.html 代码如下:

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.UnknownHostException;

import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileInputStream;

public class TestSamba {

    
    public static String readFromFile(SmbFile fileName,String encoding) throws IOException{
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        SmbFileInputStream fis=new SmbFileInputStream(fileName);
        byte[] cbuf=new byte[1024];
        int len=0;
        while((len=fis.read(cbuf))!=-1){
            baos.write(cbuf, 0, len);
        }
        fis.close();
        baos.close();        
        String txt=baos.toString(encoding);        
        return txt;
    }
    
    
    public static void main(String[] args) {
        try {
//            SmbFile file =new SmbFile("smb://root:123456@192.9.117.111/guoing/");
//            
//            if(file.exists()){
//                SmbFile[] files=file.listFiles();
//                for (int i = 0; i < files.length; i++) {
//                    System.out.println(files[i].toString());
//                }
//            }
//            
            //String res=SambaUtil.readfile("192.9.117.111/guoing/a.txt","root","123456");
            
            String path="smb://192.9.117.81/**/a.txt";
            //path="smb://root:123456@192.9.117.111/guoing/dump";
            SmbFile file =new SmbFile(path);
            String res=readFromFile(file,"GBK");
            
            
            System.out.println(res);
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }

}


测试成功~

 

抱歉!评论已关闭.