2014-10-02 63 views
0

我使用马拉Wordnet.In工作这WORDNET有文本文件,包括马拉话我在我的基于自然语言处理项目马拉地语

我想读我的Java code.I这些马拉文件都与尝试使用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(); 
+0

请在此阅读有关国际化和区域设置的信息:http://docs.oracle.com/javase/tutorial/i18n/TOC.html – 2014-10-02 08:17:14

+1

@kalyani mamulkar您遇到的错误是什么? – 2014-10-02 08:19:16

+0

http://stackoverflow.com/questions/21552315/characters-generated-by-apache-commons-stringescapeutils-unescapehtml-cannnot-be – 2014-10-02 08:22:39

回答

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字符串保存Unicode,并且可以包含任何文本。所以你可能会按照需要处理line

+0

感谢您的建议。但我仍然无法阅读该文件中的马拉地语。 – 2014-10-02 19:50:42