gpt4 book ai didi

java - 如何从 StreamingOutput 读取数据

转载 作者:行者123 更新时间:2023-12-02 05:03:10 26 4
gpt4 key购买 nike

我有一个安静的网络服务。我正在考虑从类中的另一个方法调用一个方法。是否可以?如果是这样,我如何读取下面示例中的流输出的内容?另外,我分别需要这两个函数,以便我可以返回二进制文件或显示文本文件的文本

@Path("/base")
public class Base{

@GET
@Path("/base/func1")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response func1(){
final String some_outfilename = "test.pdf";
StreamingOutput st = new StreamingOutput(){
@Override
public void write(OutputStream os) throws IOException{
Writer writer = new BufferedWriter(new OutputStreamWriter(os));
writer.write("test");
writer.flush();
}
};
return Response.ok(stream, MediaType.APPLICATION_OCTET_STREAM).header("content-disposition","attachment; filename =" + some_outFilename).build();
}

@GET
@Produces(MediaType.APPLICATION_OCTET_STREAM)
@Path("/base/func2")
public Response func2(){
//I want to call func1() from here, like
//StreamingOutput st = (StreamingOutput)func1().getEntity();
//But how do I get the "test" written inside??
//Once obtained I can return it as response
}
}
<小时/>

编辑#1:func1() 确实有一个 return 语句。我稍后把它放进去(抱歉)。 func2() 也应该有一个 return 语句。我没有放它,因为我不明白如何构造它。

最佳答案

func1 不返回任何内容,甚至不返回 st

您应该将要使用的公共(public)代码从 func1func2 移至第三个 private 方法。此方法应该返回一些内容,然后可以将其包装在 StreamingOutput 实例中。

关于java - 如何从 StreamingOutput 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28058281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com