最近碰到一个需求,需要在内网里面访问服务器上面的文件,读取里面的文件信息,并保存到数据库中。一开始想到的是用URL读取到文件流,以下为URL地址转为文件流的方法:
public static InputStream getUrlInputStream(String urlAddress) {
try {
URL url = new URL(urlAddress);
URLConnection urlConnection = url.openConnection();
return urlConnection.getInputStream();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
然后将文件下载到本地,再通过读取本地文件的形式来进行处理。但是要是服务器上面不支持Http的协议,那上面的方法就不能用了。在经过查找资料以后,我采用了SmbFile类来实现了上面的问题,具体的使用方法介绍如下。
1、在使用SmbFile的时候,需要共享服务器上面的文件所在文件夹(怎么共享文件夹请问度娘,不同的服务器共享方式不同),这里提醒一下,父文件夹共享就可以了,比如你的文件在D:/11/22/1.csv,你把D:/11/文件夹共享了