在使用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);
}