首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过多文件编码进行文本搜索

通过多文件编码进行文本搜索
EN

Stack Overflow用户
提问于 2013-12-09 21:45:12
回答 2查看 114关注 0票数 0

我试图从文件列表中找到一个特定的单词,这些文件可以是ASCII,Unicode或其他一些格式。到目前为止,我只能处理ASCII文件。有没有办法对其他文件编码格式做同样的操作。

代码语言:javascript
复制
Scanner s = null;

        try {

            s = new Scanner(new BufferedReader(new FileReader("C:\\New Microsoft Word Document.docx")));

            while (s.hasNext()) {
//               final String lineFromFile = s.nextLine();
//              if(lineFromFile.contains("DE")){
                    System.out.println(s.next());
//                    break;
//              }

            }
        } finally {
            if (s != null) {
                s.close();
            }
        }

我得到了以下结果

代码语言:javascript
复制
Q[µM¡°‰”Ø÷Þ3{:½¹®’)xTÖä¬?µXFÚB™QÎÞ‡Ïé=K0SˆÊÈÙ?õº×W?áÂ&¤6˜³qî?s”cÐ3ëÀÐJi½?^ýˆ;!¿Äøm«uÇ¥5LHCô`ÝΔbR…¤?§Ï+gF,y\í‹Q9S:êãw~Pá¡Â=‰p®RRª?OM±Ç•®™2R.÷àX9¼!ð#
qe—i;`­{¥fzU@2>¼Mä|f}Á
+'šªÎNÛ
EN

回答 2

Stack Overflow用户

发布于 2013-12-09 22:46:13

docx不是使用不同编码的文本格式,它是一种完全不同的非文本文件格式。基本上,它是各种文件和文件夹的zip存档(主要数据在一些xml文件中)。您不能仅仅将其作为文本文件读取,还需要使用Apache POI等库或某种文件转换器从其中获取文本。

票数 0
EN

Stack Overflow用户

发布于 2013-12-09 23:15:03

这与不同的文本编码无关。

是微软的一种特殊格式,它包含有关文档的各种信息(打包为zip存档)。

您可以使用word/document.xml ZipFile读取该文件并获取条目: java document.xml包含word文档的文本。然后,您可以阅读此文件并输出特定的行。

伪码:

代码语言:javascript
复制
ZipFile file = new ZipFile("doc.docx");
InputStream input = file.getInputStream(file.getEntry("word/document.xml"));

输入现在包含文本信息。

xml :xml包含文档的文本,但是有许多标记需要过滤掉

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20472158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档