public static void forcdt(String dir){
InputStream in = null
OutputStream out = null
File localFile = new File(dir)
try{
/唤并/创建file类 传入本地文件路径
//获得本地文件的名字
String fileName = localFile.getName()
//确保上传后的文件于本地文件名字相同
SmbFile remoteFile = new SmbFile("smb://administrator:[email protected]/e$/aa/")
//创建读取缓冲流尺链宽把本地的文件与程序连接陵亮在一起
in = new BufferedInputStream(new FileInputStream(localFile))
//创建一个写出缓冲流(注意jcifs-1.3.15.jar包 类名为Smb开头的类为控制远程共享计算机"io"包)
//将远程的文件路径传入SmbFileOutputStream中 并用 缓冲流套接
out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile+"/"+fileName))
//创建中转字节数组
byte[] buffer = new byte[1024]
while(in.read(buffer)!=-1){//in对象的read方法返回-1为 文件以读取完毕
out.write(buffer)
buffer = new byte[1024]
}
}catch(Exception e){
e.printStackTrace()
}finally{
try{
//注意用完 *** 作io对象的方法后关闭这些资源,走则 造成文件上传失败等问题。!
out.close()
in.close()
}catch(Exception e){
e.printStackTrace()}
}
}
登陆目标主机的共享目录后,即出现"smb>"的提仿模示符.smb>get hello.txt //将远程主机目录上的hello.txt文件下载到本者型地目录
smb>put /home/myhello.txt myhello.txt //上传文件,必须指定目标目录和首大猜名称
smb>quit
有问题说一声,祝你成功!!!
项目中使用的smb来处理文件的上传和下载,但是最近程序出现弊衫错误,上传文件总是不成功。错误信息如下:jcifs.smb.SmbException: 0xC000007F
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:541)
at jcifs.smb.SmbTransport.send(SmbTransport.java:641)
at jcifs.smb.SmbSession.send(SmbSession.java:244)
at jcifs.smb.SmbTree.send(SmbTree.java:119)
at jcifs.smb.SmbFile.send(SmbFile.java:770)
at jcifs.smb.SmbFile.open0(SmbFile.java:982)
at jcifs.smb.SmbFile.open(SmbFile.java:999)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:67)
错误原租孝腔因: 存放慎陪文件的磁盘空间不足(disk full error)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)