我在基于NLP的项目中为马拉地语工作

时间:2014-10-02 08:10:08

标签: java

我正在使用Marathi Wordnet。在这个wordnet中有包含马拉地语单词的文本文件

我想在我的java代码中阅读这些marathi文档。我尝试过使用BufferedReader和FileReader.But我失败了。 这是我试过的代码。

FileReader fr=new FileReader("onto_txt");

BufferedReader br=new BufferedReader(fr);
String line=br.readLine();
while(line!=null){
    System.out.println(line);
    line=br.readLine();

}
fr.close();
br.close();

1 个答案:

答案 0 :(得分:0)

FileReader是一个使用平台默认编码的旧实用程序类。

假设文件是​​UTF-8,最好明确指定编码。

try (BufferedReader br = new BufferedReader(new InputStreamReader(
        new FileInputStream("C:/xyz/onto_txt"), StandardCharsets.UTF_8))) {

    String line = br.readLine();
    while (line != null) {
        System.out.println(line);
        System.out.println(Arrays.toString(line.getBytes(StandardCharsets.UTF_8)));

        line = br.readLine();
    }
} // Closes br

再次使用System.out将该行转换为平台的编码。这可能无法显示字符串line;因此每个字节的转储。信息量不大,但它可能会澄清在前一行中显示?的地方,确实存在Unicode字符。

内部java String保存Unicode,并且可以包含任何文本。因此,您可以根据需要处理line