java(d) - io - 读取文件数据并按字符 | 切分数据

读取文件数据并按字符 | 切分数据

读取指定路径的文件,按照指定字符区分每行数据,后续可以统一上传数据库。

代码示例

/**
 * 测试文件数据读取并按行切分
 */
public class TestFileCut {
    public static void main(String[] args) {
        String str = "D:\\ruleEngine20230314CreditResults.del";
        try {
            FileInputStream fis = new FileInputStream(str);
            InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
            BufferedReader br = new BufferedReader(isr);
            String line;// 行数据
            // 文件数据行
            String[] column;
            // 循环读取每一行
            while ((line = br.readLine()) != null) {
                // 按照 | 分割数据 (特殊字符需要处理) 这里是按照 | 分割数据
                column = line.split("\\|",-1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意:

  1. 一些特殊的分隔符需要转义处理
    , 无需特殊处理 | 则需要转义处理
  2. 数据分隔符相邻造成的空数据问题
    行数据按照行的分隔符切分成字符串数组时
    使用 line.split("\\|") 如果实际的行数据分隔符相连,他们中间的位置并不会被识别为 "" 空字符串 ,我们如果仍使用数组获取该位置数据可能会报越界异常,我们可以添加第二个参数为-1来避免此类情况,例如 line.split("\\|",-1)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值