20150420-20150424问题记录
1、MD5加密
原文经过MD5加密后,得到唯一的摘要。
一个摘要可对应多条原文。故:根据摘要不能逆推出原文。
2、关于InputStream.available()
做下载方法时,当通过FileInputStream来读取要下载文件大小时,可成功返回相应的值。
但:用SmbFileInputStream的available()方法获取时,始终返回0。(网上解释:可能与网络状况有关,可我用while死循环进行读取时,仍然一直为0)
解决:读取inputStream流中的方法:byte[]buffer=IOUtils.toByteArray(fis);
3、关于读取网络共享文件的方法:
3.1直接使用SmbFile来进行关于文件的操作。
SmbFile file=new SmbFile(“smb://userName:password@IP/filePath/”);
或:
SmbFile file=new SmbFile(“smb://IP/filePath/”);
注意:若filePath为文件夹,则其后必须有”/”
若filePath为文件,则”/”去掉,且filePath需精确到后缀。
使用SmbFileInputStream来读取文件内容时,若参数file是文件夹,则报错:Access is denied。故使用SmbFileInputStream时,参数file必须是一个文件。
3.2将网络共享文件映射到本地。
并以普通的File来进行访问。此时:网络共享文件与本地文件并无区别。
将共享文件映射到本地磁盘的链接:http://jingyan.baidu.com/article/e75057f2dc3690ebc91a89ad.html
4、 jcifs.smb.SmbException:0xC000009A
之前是可以实现通过SmbFile实现对共享资源的正常下载的。但是,不知什么原因,在通过SmbFile file=new SmbFile(….)查找file时,报以上错误。
SMB错误代码表链接:
https://msdn.microsoft.com/en-us/library/ee441884.aspx
5、获取键盘输入
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
String inStr=br.readLine();
获取控制台输入:
Scanner in=new Scanner(System.in);