您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Java将文件从服务器发送到客户端

使用Java将文件从服务器发送到客户端

如果要读取/写入二进制数据,则应使用字节流(InputStream / OutputStream)代替字符流,并尝试避免像示例中那样在字节和字符之间进行转换。

您可以使用以下类将字节从InputStream复制到OutputStream:

public class IoUtil {

    private static final int bufferSize = 8192;

    public static void copy(InputStream in, OutputStream out) throws IOException {
        byte[] buffer = new byte[bufferSize];
        int read;

        while ((read = in.read(buffer, 0, bufferSize)) != -1) {
            out.write(buffer, 0, read);
        }
    }
}

您没有提供太多与客户端连接的详细信息。这是一个最小的示例,显示了如何将一些字节流传输到Servlet的客户端。(您需要在响应中设置一些标头并适当地释放资源)。

public class FileServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Some code before

        FileInputStream in = new FileInputStream(resourceLocation);
        ServletOutputStream out = response.getOutputStream();

        IoUtil.copy(in, out);

        // Some code after
    }
}
java 2022/1/1 18:29:51 有440人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶