我现在要得到一个fileInputStream,创建它就必须创建一个File f=new File(文件路径),但是我的文件不在本地......在这个地方http://136.5.68.7:8080/creport/files/20091111/xlsfiles/aa.txt 我怎么才能得到一个fileInputStream啊.因为我要得到aa.txt的文件大小.和最后修改时间...可以用httpurlconnection得到inputstream..可就是得不得fileinputstream

解决方案 »

  1.   

    URL url = new URL("http://sss");
    URLConnection conn = URLConnection openConnection();
    conn.connect ();
    conn.getInputStream(); /////出来了new FileOutputStream("目标文件");
    直接写就可以了
      

  2.   

    把inputstream强制转换成fileinputstream试验下
      

  3.   

    你可以去看下File类的构造方法,应该可以找到用URL作为参数的
      

  4.   

    没看懂fileinputstream是怎么来的...谢谢
      

  5.   

    可以下载下来再看大小。
    如果更方便的方法,可以用apache commons vfs
      

  6.   

    fileInputStream流只能用于本地的文件系统中文件的读(或:远程文件但通过网络驱动器映射成本地的驱动器上文件),不能用于读远程机器上的文件
      

  7.   

    那我要获得http://136.5.68.7:8080/creport/files/20091111/xlsfiles/aa.txt这个方的aa.txt文件的大小怎么办呢
      

  8.   

    不直接从http://136.5.68.7:8080/creport/files/20091111/xlsfiles/aa.txt取文件大小
    服务端写一个servlet,客户端请求servlet,servlet取得文件的大小传回给客户端
      

  9.   

    使用http协议获得的流与文件流是有区别的,对于http上的二进制流,web服务器一般会在http响应头中放置一个Content-Length头告诉流的长度,而象楼主的文件为文本文件,web服务器响应时一般不会设置Content-Length。至于文件的修改时间,可以通过读取Last-Modified响应头来获得。
      

  10.   

    使用InputStream吧,FileInputStream只能读本地文件
    网络的,只能通过流读
    不过不知道LZ整个这东东,目的是做什么
    如果是为了文件上传下载,可以使用其他方法
      

  11.   

    要获取这个大小的话,可以这样URL url=new URL("http://136.5.68.7:8080/creport/files/20091111/xlsfiles/aa.txt");
    URLConnection con = url.openConnection();
    long size = con.getContentLength();//获取连接URL资源的长度
      

  12.   


    你获取了URL地址。然后把地址传到文件路径里面就可以了。
      

  13.   


    这个设计比较好,直接通过socket活得大小往往不准确。如果对远程服务器没有控制权就只好直接获取文件大小了。
      

  14.   

    通过URL获取的是网络路径,直接获取路径下的文件及文件夹属性比较困难。想想类似CuteFtp之类的C/S客户端工具的工作模式就有点思路了:1)在jsp/servlet里面获取当前web资源的绝对路径
    String filepath = request.getSession().getServletContext().getRealPath("/......");2)用FileInputStream打开该filepath。由于filepath已经是web server所在os的物理路径了,可以直接获取文件属性。
      

  15.   

    补充一点:我这个办法仅限web应用
      

  16.   

    URL url = new URL("http://sss"); 
    URLConnection conn = URLConnection openConnection(); 
    conn.connect (); 
    //content-length
    con.getContentLength();
    con.getLastModified();