java通过内存流去掉多行文本中的空行

对于多行文本,你直接通过replace,replaceAll是不能将空行删除的,你需要遍历这些行,对每行文本进行操作,最后把返回新的文本才行。

    public static String removeMultiRowBlank(String msg) {
        InputStream is = new ByteArrayInputStream(msg.getBytes());
        BufferedReader br = null;
        String tmp;
        StringBuilder stringBuilder = new StringBuilder();
        int i = 0;
        try {

            br = new BufferedReader(new InputStreamReader(is, "utf-8"));
            while ((tmp = br.readLine()) != null) {
                if (StringUtils.isBlank(tmp)) ;
                else {
                    stringBuilder.append(tmp + "\n");
                    i++;
                    System.out.println(i);
                }
            }
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }


通过上面的方法,将把上图中第一行(空行)删除,并返回处理后的字符串。

posted @   张占岭  阅读(438)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-09-06 keycloak~扩展事件机制,集成kafka中间件
2017-09-06 异步与并行~CancellationTokenSource对线程的作用
2013-09-06 EF架构~为BulkInsert引入SET IDENTITY_INSERT ON功能
2012-09-06 IoC~MVC3+EF+Autofac实现松耦合的系统架构
点击右上角即可分享
微信分享提示