转载:
URL类中的openStream()方法,可以读取一个URL对象所指定的资源,返回一个InputStream对象。
(1)file协议介绍
File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。
要使用File协议,基本的格式如下:file:///文件路径(或者是file://localhost,但不能是file://本机IP),比如要打开F盘flash文件夹中的1.swf文件,那么可以在资源管理器或IE地址栏中键入:file:///f:/flash/1.swf并回车。
(2)URL数据读入(读入本地数据)
public class ReadFromURL
{
@SuppressWarnings("deprecation")
public static void main(String[] args)
{
URL root=null;
URL url=null;
String readString;
DataInputStream dis;
try {
root=new URL(file://localhost/d:/javaUrlTest/);//根地址,总的文件夹
url=new URL(root,args[0]);//文件夹中的某个文件对应的URL
System.out.println("URL"+url);
dis=new DataInputStream(url.openStream());//得到数据输入流
while((readString=dis.readLine())!=null)
{
System.out.println("readString:"+readString);
}
System.out.println("文件读完");
dis.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e)
{
System.out.println("IO异常:"+ e);
}
}
}
运行代码,在控制台输入要读取的文件名。Run as——Run Configurations
因为DataInputStream类中的readline()方法在新的版本中已经不再使用,修改代码为
public class ReadFromURL {
@SuppressWarnings("deprecation")
public static void main(String[] args)
{
URL root=null;
URL url=null;
String readString;
DataInputStream dis;
BufferedReader br;
try {
root=new URL(file://localhost/d:/javaUrlTest/);
url=new URL(root,args[0]);
System.out.println("URL"+url);
dis=new DataInputStream(url.openStream());
br=new BufferedReader(new InputStreamReader(url.openStream()));
while((readString=br.readLine())!=null)
{
System.out.println("readString:"+readString);
}
System.out.println("文件读完");
dis.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e)
{
System.out.println("IO异常:"+ e);
}
}
}
转载于:https://www.cnblogs.com/FTDtt/p/4684449.html