有没有一种方法可以在一个请求中组合输出流和印刷机?

时间:2019-06-01 12:28:03

标签: java file sockets input output

我必须通过Java中的套接字进行文件传输(在我的情况下为pdf),以进行作业。通常我要求发送文本并返回文本,但是这次我必须通过套接字发送文件。在调查中,我发现文件传输是通过Fileinput(output)streams进行的。我的问题是,对服务器的请求必须看起来像这样:

    File file = new File(pathToFile);
    Pirntwriter out = new PrintWriter(Socket s.getOutputStream());
    Outputstream outFile = s.getOutputStream();
    int count
    out.write("user file\r\n"
                + file.getName()+"\r\n"
                + file.length()+"\r\n"
                + "body\r\n");
    // send file but im not sure how
    byte[] buffer = new buffer with size of file.length()
    while ((count = in.read(buffer)) > 0){
         outFile.write(buffer, 0, count);
    }

    out.flush
    outFile.flush

不幸的是,这对我不起作用。这样,服务器会将请求计为两个不同的输出。有没有一种方法可以将两个Outputstream组合在一起或将请求写入一个OutputStream中?

0 个答案:

没有答案