java - 如何使用 java 在 REST Web 服务中复制 zip 和其他文件

标签 java web-services rest download fileinputstream


有谁知道如何使用java在REST Web服务中复制zip文件、jar文件、二进制文件等中的数据?我编写了一个 Web 服务方法来使用 FileInputStream 复制文件,但它只能复制文件类型。

谢谢

最佳答案

我建议使用apache httpclient为了这。您的代码可能类似于(注意,确保您使用的是 4.x 或更高版本):

HttpClient client = new DefaultHttpClient();
HttpRequestBase httpMethod = httpMethod = new HttpGet(myUrlString);
httpMethod.setHeader("Accept", "application/zip");
HttpResponse response = httpClient.execute(httpMethod);
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode != 200) {
    throw new Exception("Bad return status code of: "+statusCode);
}
HttpEntity entity = response.getEntity();
if( entity != null) {
    FileOutputStream fos = new FileOutputStream("myFile.zip");
    int nextByte=0;
    InputStream cis = entity.getContent();
    try {
        while( (nextByte = cis.read()) >= 0) fos.write(nextByte);
    } finally {
        fos.close();
        cis.close();
    }
}

我还没有编译这个,但是你可能可以在没有太多问题的情况下完成它(如果你尝试编译这个并且有错误,请随意编辑我的评论并更正代码)。另请注意,此代码通常适用于从 Web 请求下载任何内容(更改“Accept” header 后)。

关于java - 如何使用 java 在 REST Web 服务中复制 zip 和其他文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5548103/

相关文章:

asp.net - 如何跟踪 ScriptService WebService 请求?

asp.net - 为什么 Application_Start 方法会在我的 ASP.NET Web 服务上被多次调用?

c# - 如何在 Web 服务中获取客户端发送的 X509Certificate?

asp.net-mvc - 根据 HTTP 请求返回 XML 或 JSON

java - Java 中的 Timer 类如何对系统时钟敏感?

java - 我可以控制 spring Controller 方法参数的实例化方式吗?

java - 如何从服务器下载文件到插件的内部存储目录

java - 如何计算电话号码字符串中破折号(-)的数量以进行输入验证?

php - 使用 API 而不是直接 DB Access 的优缺点

android - 如何将解析推送发送到特定地理点附近的设备和 channel ?