java端访问NFS

参考网址:https://blog.csdn.net/kunfd/article/details/77197592

pom.xml:


    org.objectweb.joram
    jftp
    1.52
    

JFTP是什么:

简而言之:JFtp是一个图形化的Java网络和文件传输客户端。

它支持FTP使用自己的FTP API和各种其他协议,像SMB SFTP,NFS,HTTP,并使用第三方文件I / O API,包括许多高级特性,比如递归目录/下载、浏览FTP服务器传送文件,FTP恢复和排队,浏览局域网为Windows股票,等等。


代码:(就里面有些方法没测试,我只用了创建路径一个方法而已)

package com.example.demo;


import java.io.IOException;


import com.sun.nfs.XFileExtensionAccessor;
import com.sun.xfile.*;  
import java.io.*;  
/**
* @desc
* @para
* @author 
* @version 2018年5月29日 下午5:49:09
*/
public class NFS {
String url;  
    XFile xfile;  
    public void NFSconnection(String ip,String dir)  
    {  
        url = "nfs://" + ip + "/" + dir;//创建连接  
         xfile = new XFile(url);  
        //调用exists()判断是否连接成功  
        if (xfile.exists()) { 
            System.out.println("URL is OK!");
            //创建路径
            Boolean flag = xfile.mkdir();
        if(flag) {
        System.out.println("创建成功");
        }else {
        System.out.println("创建失败");
        }
        } else {  
            System.out.println("URL is Bad!");  
            return;  
        }  
  
    }  
    public void coming(String pathname) throws IOException {  
        String path[] = pathname.split("/");//切割,如果服务器是unix系统,更改为"\"  
        //String[] fileList = new String[1024];//设置接收目录扫描的长度,暂时设置为1024  
        //fileList = xfile.list();//缺少这一句的话,会出现找不到文件的错误  
        XFile temp;  
        XFileInputStream in = null;  
        for(String splittext:path){  
            url = url+"/"+splittext;  
            temp = new XFile(url);  
           
              in = new XFileInputStream(temp);  
            //fileList = temp.list();  
        }  
        BufferedReader reader = new BufferedReader(new InputStreamReader(in,"GBK"));  
        String line;  
        while ((line = reader.readLine()) != null) {  
            System.out.println(line);  
        }  
    }  
  
    public static void main(String[] args) throws IOException {  
        String ip ="ip";  
        String dir = "abc/nihao1";  
        String pwd = "pwd";
        String user = "user";
        NFS nfs = new NFS();  
        nfs.NFSconnection(ip, dir);
    }  


    public void wirteData(String dir) throws IOException {
    String path = File.separator+dir+File.separator+"abc"+File.separator+"a";
    System.out.println(path);
        XFileOutputStream out = new XFileOutputStream(path);
        File file = new File("C:\\Users\\Administrator\\Desktop\\test.java");
        FileInputStream fis = new FileInputStream(file);
        int i;
        byte[] buf = new byte[1024];
        while ((i = fis.read(buf)) > 0){
        System.out.println(i);
        out.write(buf, 0, i);
        }


    }
    
    private String disguise(String paramString)
    {
      byte[] arrayOfByte = paramString.getBytes();


      for (int i = 0; i < arrayOfByte.length; i++) {
        arrayOfByte[i] = (byte)(arrayOfByte[i] & 0x7F ^ 0x5B);
      }
      return new String(arrayOfByte);
    }


    public void login(String ip,String dir,String user,String pwd) throws Exception{
    //创建连接  
    url = "nfs://" + ip + "/" + dir;
        xfile = new XFile(url);  
        
        XFileExtensionAccessor nfsx = (XFileExtensionAccessor) xfile.getExtensionAccessor();
       // nfsx.
        if(nfsx.loginPCNFSD(ip, user, pwd)) {
        System.err.println(" i am logined");
        }else {
        System.err.println(" i am not logined");
        }
    }
}

你可能感兴趣的:(java访问NFS)