2 ssummeraw ssummeraw 于 2013.06.06 17:41 提问

从 url 中下载文件时的错误

我想从url中读取一个文件,然后定义它为一个File Type

public File fileFromUrl(String str) throws IOException
      {
          File file = new File ("image.png");
          URL url = new URL (str);
            InputStream input = url.openConnection().getInputStream();
            try {

                OutputStream output = new FileOutputStream (file);
                try {
                    byte[] buffer = new byte[1024];
                    int bytesRead = 0;
                    while ((bytesRead = input.read(buffer, 0, buffer.length)) >= 0) {
                        output.write(buffer, 0, bytesRead);
                    }
                } finally {
                    output.close();
                }
            } finally {
                input.close();
            }
          return file;
      }

但是代码在OutputStream output = new FileOutputStream (file); 处出错了。
请问如何定义 URl 中的文件?

2个回答

cj6585256
cj6585256   2013.06.06 18:01
   /**
     * Constructs a new file using the specified path.
     *
     * @param path
     *            the path to be used for the file.
     */
    public File(String path) {
        this.path = fixSlashes(path);
    }

这是File的构造方法,你那是找不到文件的 path应该是绝对路径

yjsxxgm
yjsxxgm   2013.07.09 15:44

首先
File file = new File ("image.png");
OutputStream output = new FileOutputStream (file);
肯定会报错,因为这个图片不存在。
如果你想通过URL得到outputStream可以如下:
url.openConnection().getOutputStream();
因为URL就是URL和普通的File是不一样的,但都能取到流!

希望可以帮到你!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!