相关疑难解决方法(0)

将Java InputStream的内容写入OutputStream的简便方法

我惊讶地发现,今天,我不能追查任何简单的方法的内容写入InputStreamOutputStreamJava中.显然,字节缓冲区代码并不难写,但我怀疑我只是遗漏了一些会让我的生活更轻松(代码更清晰)的东西.

那么,给定一个InputStream in和一个OutputStream out,是否有更简单的方法来编写以下内容?

byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
    out.write(buffer, 0, len);
    len = in.read(buffer);
}
Run Code Online (Sandbox Code Playgroud)

java io stream

424
推荐指数
12
解决办法
41万
查看次数

将BufferedImage添加到PDFBox文档

在我当前的项目中,我尝试添加BufferedImage一个PDFBox文档.更具体地说,我使用的是图像JFreeChart.我的代码看起来像这样:

public void exportToPDF(JFreeChart chart, String filePath){
    PDDocument doc = null;
    PDPage page = null;
    PDXObjectImage ximage = null;

    try {
        doc = new PDDocument();
        page = new PDPage();
        doc.addPage(page);
        PDPageContentStream content = new PDPageContentStream(doc, page);
        BufferedImage image = chart.createBufferedImage(300, 300);
        ximage = new PDJpeg(doc, image);
        content.drawImage(ximage, 20, 20);
        content.close();
    } catch(IOException ie) {
    }
    doc.save(filePath);
    doc.close();
}
Run Code Online (Sandbox Code Playgroud)

文档被创建; 我可以添加文本,但是我收到错误,指出图像没有足够的信息显示.

我有什么不对的任何线索?

java bufferedimage jfreechart pdfbox

9
推荐指数
2
解决办法
2万
查看次数

使用Java 7中的ProcessBuilder构建流程管道

我一直试图弄清楚如何使用new管道Java中的一些进程ProcessBuilder.我找不到一个合适的例子来说明我想做什么,当我尝试自己做这个过程时,这个过程就会挂起.我将非常感谢一些代码运行相当于cat test.txt | wc但不是通过shell的代码.

--Update--

好的,只是澄清一下.我知道有一些方法可以通过读写流来模拟管道.我想知道是否通过Java 7中引入的redirectInputredirectOutput方法以某种自动方式完成.

java pipe processbuilder

8
推荐指数
1
解决办法
3861
查看次数

PipedInputStream/PipedOutputStream存在缺陷

我已经看到了两个关于SO的答案,声称Java提供的PipedInputStreamPipedOutputStream类是有缺陷的.但他们没有详细说明他们的错误.他们真的有缺陷,如果是这样的话?我正在编写一些使用它们的代码,所以我想知道我是否采取了错误的转向.

一个答案说:

PipedInputStream并且PipedOutputStream被打破(关于穿线).他们假设每个实例都绑定到一个特定的线程.这很奇怪.

对我来说,这似乎既不奇怪也不破碎.也许作者也有其他一些缺陷?

另一个答案说:

在实践中,最好避免使用它们.我已经用了13年一次,我希望自己没有.

但是那位作者无法回想起问题所在.


与所有类一样,尤其是在多个线程中使用的类,如果您滥用它们,则会遇到问题.所以我不考虑不可预知的"写入结束死"IOExceptionPipedInputStream可以抛出是一大败笔(无法close()连接的PipedOutputStream是一个错误,请参阅文章请告诉我这IOException异常:写入结束死了吗?,由丹尼尔·Ferbers,以获取更多信息).有什么其他声称的缺陷?

java io multithreading

8
推荐指数
1
解决办法
1万
查看次数

使用JFreeChart和Apache PDFBOX生成图表

我需要使用JFreeChart生成图表,然后使用Apache PDFBOX将其导出为PDF 。我不想使用iText,因为它不能在专有软件中使用。

我搜索了整个Google,但没有运气!有人做过吗?

jfreechart pdfbox

3
推荐指数
1
解决办法
3811
查看次数