You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Jeremy McLain (JIRA)" <ji...@apache.org> on 2014/03/20 00:33:43 UTC
[jira] [Updated] (TIKA-1262) parseToString fails to detect
content-type / charset for GB2312 text file
[ https://issues.apache.org/jira/browse/TIKA-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeremy McLain updated TIKA-1262:
--------------------------------
Attachment: GB2312.txt
ChineseTextExtraction.java
> parseToString fails to detect content-type / charset for GB2312 text file
> -------------------------------------------------------------------------
>
> Key: TIKA-1262
> URL: https://issues.apache.org/jira/browse/TIKA-1262
> Project: Tika
> Issue Type: Bug
> Components: detector
> Affects Versions: 1.5
> Environment: Java 1.7; Windows 7 64 bit
> Reporter: Jeremy McLain
> Attachments: ChineseTextExtraction.java, GB2312.txt
>
>
> This code detects 'application/octet-stream' for the Content-Type and returns an empty string for the contents. It should detect 'text/plain' for the Content-Type and return a Unicode string of the contents of the file. I don't see a way to attach files here so I'll update this once I get the file uploaded somewhere.
> import org.apache.tika.Tika;
> import org.apache.tika.exception.TikaException;
> import org.apache.tika.io.TikaInputStream;
> import org.apache.tika.metadata.Metadata;
> import java.io.*;
> public class ChineseTextExtraction {
> // Experimenting with getting the file meta data and a Unicode version
> // of the file's text using as little code as possible.
> public static void main(String[] args) throws IOException, TikaException {
> Tika tika = new Tika();
> Metadata metadata = new Metadata();
> // GB2312 is a subset of GB18030 so either charset is correct for this file.
> String filepath = "GB2312.txt";
> TikaInputStream reader = TikaInputStream.get(new File(filepath));
> String contents = tika.parseToString(reader, metadata);
> reader.close();
> for(String name : metadata.names()) {
> System.out.println(name + ": " + metadata.get(name));
> }
> FileWriter writer = new FileWriter("GB2312-converted.txt");
> writer.write(contents);
> writer.close();
> }
> }
--
This message was sent by Atlassian JIRA
(v6.2#6252)