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

在使用Hadoop的FSDataOutputStream写入字符串时遇到异常,导致文本内容出现空行或多个空格。问题源于' '换行字符在写入时未被正确识别。为解决此问题,可以将writeUTF方法替换为写入字节,如:fsOut.write(line.getBytes(), 0, line.getBytes().length)。" 129701449,5613065,SpringBoot连接Elasticsearch超时问题解决方案,"['Elasticsearch', 'Java', '大数据', 'SpringBoot开发', '异常处理']
摘要由CSDN通过智能技术生成

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值