如何从rtf文档文件的文件列表中获取InputStream?

时间:2011-09-13 19:03:33

标签: java file stream rtf

我有一个richTextFormat文档列表,我需要循环并从每个文件中获取InputStream以与另一个文档合并。我用这段代码来获取文件:

List<File> rtfFilesList = new ArrayList<File>();
File[] files = new File(<path to files>).listFiles();

for (File file : files) {
if (file.isFile() && file.getName().endsWith(".rtf")) {
    FilenameUtils.removeExtension(".rtf");
rtfFilesList.add(file);
 }
}

这让我的文件很好,但现在我想循环遍历列表,如:

for(File file : rtfFilesList){
//Get the document stream from each file here.
...

我不知道如何将文件转换为特定类型的文件。 API似乎并不真正支持这一点。

关于这个的任何想法?

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:1)

好的,我没有做到这一点。我真正需要的是:

for(File file : rtfTemplateList){
try {
    fileInputStream = new FileInputStream(file);
byte[] byteArray = new byte[(int) file.length()];
fileInputStream.read(byteArray);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArray);
etc...

我写下我想要做的事后发现,实际上是将byteArrayInputStream传递给第三方软件生成器以创建合并的rtf文件。因此在for循环中使用该文件是正确的,但之后我只需要获取流。

我希望这有助于某人。