从java中的通用路径读取二进制文件

时间:2016-11-29 08:19:47

标签: java file

我正在编写一个带有文件路径的库,该文件路径可以是本地路径,也可以是类路径或远程路径(简单的http,无需身份验证)。是否有任何此类通用实用程序接收此类字符串路径并返回文件二进制内容?示例路径是:

由于

1 个答案:

答案 0 :(得分:0)

您可以使用URL并创建URLConnection来从文件或Web链接获取输入流。

package ch.p1gu;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class Main {

public static void main(String[] args) {
    try {
        URL fileUrl = new URL("file:///home/p1gu/tmp/test.txt");
        URL webUrl = new URL("http://pastebin.com/RdVdQVdC");
        URLConnection ucWeb = webUrl.openConnection();
        URLConnection ucFile=fileUrl.openConnection();

        DataInputStream disWeb  = new DataInputStream(ucWeb.getInputStream());
        DataInputStream disFile = new DataInputStream(ucFile.getInputStream());

        System.out.println(disFile.readUTF());
        System.out.println(disWeb.readUTF());

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}