现在的位置: 首页 > 综合 > 正文

FSDataOutputStream.writeUTF(String)写入文本异常

2014年09月28日 ⁄ 综合 ⁄ 共 478字 ⁄ 字号 评论关闭

在使用hadoop的文件写入流 FSDataOutputStream 写入字符串的时候出现了异常, 写入方法如下:

protected void write2File(String line) throws Exception {
line = line +"\n";
fsOut.writeUTF(line);

}

查看hdfs上文本内容时出现异常:

异常一:出现空行

F89;F73;F85;F59
F97
F97;F73;F59;F51
F73;F59
F59
F73;F59

F97;F85;F51
F59
F89;F85;F59;F51
F115;F97;F73;F85;F78;F59;F51

异常二:出现多个空格

丁慧
        马慧聪
任平
王永
        韩晓磊
        聂亚平
杨丽
        于立波
        李嘉馨
徐军

原因可能是写入时,无法识别 '\n'换行字符。

解决方法:

protected void write2File(String line) throws Exception {
line = line +"\n";
fsOut.write(line.getBytes(), 0, line.getBytes().length);
}

抱歉!评论已关闭.