标签:JCIFS buffer remoteFile XX 访问共享 new Android null out
1.访问共享文件,一定要写在”子线程”,不要写在主线程里面,不然一直闪退。为了这个不知道掉了几根头发
new Thread(new Runnable() { @Override public void run() { SmbToUpdate(); } }).start();
public void SmbToUpdate() { InputStream in = null ; ByteArrayOutputStream out = null ; try { NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("smb://192.168.XX.XX","用户名", "密码"); SmbFile remoteFile = new SmbFile("smb://192.168.XX.XX/Share/AutoUpdater.xml", auth); remoteFile.connect(); //尝试连接 in = new BufferedInputStream(new SmbFileInputStream(remoteFile)); out = new ByteArrayOutputStream((int)remoteFile.length()); //读取文件内容 byte[] buffer = new byte[4096]; int len = 0; //Read length while ((len = in.read(buffer, 0, buffer.length)) != - 1) { out.write(buffer, 0, len); } out.flush(); //方法刷新此输出流并强制将所有缓冲的输出字节被写出 byte[] data= out.toByteArray(); String Xml = new String(data); } catch (Exception e) { String msg = "Download a remote file error: " + e.getLocalizedMessage(); System.out.println(msg); } finally { try { if(out != null) { out.close(); } if(in != null) { in.close(); } } catch (Exception e) { int a=1; } } }
标签:JCIFS,buffer,remoteFile,XX,访问共享,new,Android,null,out 来源: https://www.cnblogs.com/zhuzhi0819/p/15460086.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。