如果在使用网络文件进行流处理的时候遇到(文件名、目录名或卷标语法不正确。)的报错解决方法:
大概率是使用以下形式,直接通过网络连接创建文件流:
//如这样,直接将链接以构造器的形式创建输入流对象,这样会在创建对象时报错语法不正确。
InputStream imgIn = new FileInputStream(people.getImgUrl());
正确的方法:使用url类来创建输入流对象:
通过url对象 ——> 创建连接对象 ——> get输入流对象,创建出的文件流就不会报错了:
URL url = new URL(people.getImgUrl());
URLConnection connection = url.openConnection();
InputStream imgIn = connection.getInputStream();
原因是:FileInputStream是文件流,需要的是文件作为参数构造对象,而网络文件虽然也是文件,但它还是作为一个链接,所以会提示语法不对。本地文件是一个路径的形式指向一个文件,所以本地文件是可以的。另外的一种方法就是将网络文件下载到本地作为临时文件,继而使用本地的路径来创建,操作完成后在finally块里面删除该文件
版权声明:本文为zzztimes原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。