0

我有一个应用程序想要使用 fileoutputstream 写入文件

这是代码,方法补丁

public static Response patch() {
    try {
        System.out.println("PATCH");
        System.out.println(request.contentType);
        String file = params.get("filename");
        System.out.println("patch file: " + file);
        Map<String, Header> MapOffset = request.headers;
        for (Entry<String, Header> entry : MapOffset.entrySet()) {
            System.out.println("Header['" + entry.getKey() + "]: "
                    + entry.getValue().value());
        }

        Header offsetParam = MapOffset.get("offset");
        Long offset = 0L;
        if (offsetParam != null) {
            offset = Long.parseLong(offsetParam.value());
        }

        InputStream input = request.body;
        File f = new File(UPLOAD_DIR + System.getProperty("file.separator")
                + file);

        System.out.println("address: " + f.getAbsolutePath());
        System.out.println("offset: " + offset);
        System.out.println("length: " + f.length());

        fileBasicUpload(f, offset, input);

        Response respon = new Response();
        respon.status = OK;

        return respon;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

这就是我写文件的地方

private static void fileBasicUpload(File f, Long offset, InputStream input)
        throws IOException {
    FileOutputStream output = null;
    try {
        int c = -1;
        byte[] b = new byte[1024];
        try {
            output = new FileOutputStream(f, true);
            while ((c = input.read(b)) != -1) {
                output.write(b, 0, c);
            }
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
        }
    } finally {
        output.close();
    }
}

while ((c = input.read(b)) != -1)但是当我的应用程序调用时,该行会显示流关闭错误。我不知道如何调用该错误。对不起我糟糕的英语,谢谢

4

1 回答 1

0

我找到了答案。在我的应用程序中,我发现这样

 public static Response upload(File file){
    System.out.println("Appliaction.upload");
    response = ResumableUpload.post();
    return response;

// 渲染(响应);
}

参数文件,必须删除,才行!

于 2013-07-19T03:26:57.337 回答