2009-11-27 40 views
1

我上一个项目,我需要阅读一些普通的文本工作......我要找任何API通过我可以读取普通的文本,也可以将其转换为.csv文件...... 可在任何一个PLZ帮助... Windows OS上使用的Java ...通用文本阅读

--------------------------更多细节--- -------------------------------------------------- ---------------------------------- 让我澄清:

假设我有一个PDF文档或对于这个问题任何文件类型的文件。我打算使用“打印到通用文本打印机”选项并以该格式获取文件。最后,我打算使用一些API,它们使我能够以编程方式读取此通用文本格式文件。我打算从这个通用文本文件中提取文本。

所以,无论是任何文件(.DOC/.PDF/.xls的等wtatever),我打算使用打印选项来创建一个通用的文本格式文件。然后运行我的代码来阅读这些文件并提取一些信息。

PS:假设我有一个带有标准字段的状态报告表。好。但是,有些人可能会用.pdf提交,有些用.doc提交,有些用文本格式提交。但是,每个文档都包含相同的字段,但可能具有不同的布局。现在

,我要寻找一个通用的解决方案,由我shoudl能够每个文件类型转换到通用文本文件格式,然后应用一些逻辑来提取我的状态报告域。

+0

语言,架构,操作系统请。 – Bobby 2009-11-27 12:29:35

回答

1

CSV是列数据的格式。这对维基百科的文章并不是非常有用。

阿帕奇提卡图书馆将采取各种数据,并把它变成平淡XML,从中你可以CSV,只要你喜欢。

如果您想编辑您的问题以澄清'通用'与'生成'之间的关系,并告诉更多关于数据的信息,这将有所帮助。

对于Windows打印机驱动程序,您是否在寻找像'print to csv'这样的'print to pdf'?如果是这样,我怀疑你需要从MSDN的打印机驱动程序样本开始,并以艰难的方式编写代码。

所谓的“通用文本文件格式”不是结构化格式。对于打印机系统的任何给定输入,您将在那里找到什么是完全不可预知的。

1

在Java中,这或多或少是你所需要阅读的文本文件,假设它是逗号分隔(只是改变字符串中的“line.split”的方法,如果你需要别的东西)。它也跳过标题。

public void parse(String filename) throws IOException { 
     File file = new File(filename); 
     FileInputStream fis = new FileInputStream(file); 
     InputStreamReader isr = new InputStreamReader(fis); 
     BufferedReader br = new BufferedReader(isr); 
     String line; 
     int header = 1; 
     while ((line = br.readLine()) != null) { 
      if (header == 1) { 
       header = 2; 
       continue; // skips header 
      } 
      String[] splitter = line.split(","); 
        // do whatever 
        System.out.println(splitter[0]); 
     } 
    }