项目中使用的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)
解决方案: 知道原因了,自己知道该怎么办了。
顺带要讲讲smb相关错误的搜索策略,希望对smb相关问题有所启发。
遇到上面的错误信息是,我直接搜索:
jcifs.smb.SmbException: 0xC000007F
百度只搜索到一条真正相关的记录,而且没有解决方案。
又搜了下:
jcifs.smb.SmbException at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:541)
真正相关的记录更少,为0;
SmbException: 0xC000007F
终于,觅得神器,SMB错误代码表。
遇到SMB相关问题,可以直接查询这个错误代码表了。
SMB错误代码表:http://msdn.microsoft.com/en-us/library/ee441884%28PROT.13%29.aspx