使用java的Jasper社区版,将inputStream转换为String

时间:2018-05-16 11:31:01

标签: java string jasper-reports

我试图将jasper社区版与java集成,

    RestClientConfiguration configuration = RestClientConfiguration.loadConfiguration("jasper.properties");
    configuration.setAcceptMimeType(MimeType.JSON).setContentMimeType(MimeType.JSON).setJrsVersion(JRSVersion.v6_0_0).setLogHttp(true);
    configuration.setRestrictedHttpMethods(true);
    configuration.setHandleErrors(false);
    configuration.setLogHttp(false);
    configuration.setLogHttpEntity(false);
    JasperserverRestClient client = new JasperserverRestClient(configuration);
    Session session = client.authenticate("jasperadmin", "jasperadmin");
    OperationResult<InputStream> result = client
            .authenticate("jasperadmin", "jasperadmin")
            .reportingService()
            .report("/reports/interactive/CustomersReport")
            .prepareForRun(ReportOutputFormat.HTML, 1)
            .run();
    InputStream report = result.getEntity();

每件事情都很好,我得到了一些对象的响应,我也可以保存在文件中,现在我的问题是我想将InputStream转换为toString,这样我就可以得到实际的html内容,我可以打印出来我的jsp页面,

我已经尝试this stackoverflow question但它不适合我,任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

请你尝试这样的事情:

Scanner s = new Scanner(report).useDelimiter("\\A");
String result = s.hasNext() ? s.next() : "";

或您提到的链接中给出的选项。将其转换为字符串后,尝试为结果执行sysout。

System.out.println("Result: "+result);

如果您遇到任何问题,请告诉我们。尝试打印结果时,请告诉我们错误。