Java在读取文件内容的时候,如何判断出空白行的操作

 更新时间:2020年09月23日 15:16:20   作者:G_66  
这篇文章主要介绍了Java在读取文件内容的时候,如何判断出空白行的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一、问题描述:

在用Java读入文件内容时,往往文件中存在空行,有时候用空行来分割不同属性的内容,这个时候,就有必要把这个空行识别出来,在Java中该如何识别空行呢?

二、案例分析:

数据集为:

第一行信息:节点个数 开始节点 终止节点

第二行信息:空行

第三行到第四十四行信息:边及边的权值

第四十五行信息:空行

第四十六行到第四十七行信息:必过节点

第四十八行信息:空行

第四十九行到第五十行信息:必过边

第五十一行信息:空行

第五十二行到第五十三行信息:不能经过的边

18 S E

S N1 3
S N2 1
S N3 1
N1 N9 4
N1 N4 1
N1 N2 1
N2 N5 1
N2 N3 1
N2 N4 2
N3 N5 2
N3 N6 2
N3 N7 1
N4 N5 1
N4 N9 1
N5 N6 1
N5 N12 3
N5 N10 1
N5 N9 3
N6 N12 2
N6 N13 4
N6 N14 3
N6 N8 2
N6 N7 1
N7 N8 1
N8 N14 1
N8 N15 3
N9 N10 1
N9 N11 1
N10 N11 1
N10 N12 2
N11 N12 1
N11 N16 1
N12 N13 2
N12 N16 1
N13 N16 2
N13 N14 1
N13 N15 2
N14 N15 1
E N16 1
E N13 1
E N15 4

N7
N12

N2 N4
N13 N14

N11 N12

现在需要把这些信息都给读出来,代码为:

import java.util.*;
import java.util.Map.Entry;
import java.io.*;
 
public class choosePath {
private static ArrayList arrayListOfChoosedPath=new ArrayList();
 private static ArrayList arrayListOfMustThoughNode=new ArrayList();
 private static ArrayList arrayListOfMustThoughEdge=new ArrayList();
 private static ArrayList arrayListOfCanNotThoughEdge=new ArrayList();
 
 private static int needOfNode;
 
 public static void main(String[] args) throws IOException {
 
 //sumCol变量用于记录数据集中边的数量
 int sumCol=0;
 BufferedReader bfr2 = new BufferedReader(new FileReader(
  "C://Users//Administrator//Desktop//text//case.txt"));
 bfr2.readLine();
 bfr2.readLine();
 while(!bfr2.readLine().equals("")){
  sumCol++;
 }
 System.out.println("tempcol="+sumCol);
 
 
 String tempMustThoughNode=null;
 while(!(tempMustThoughNode=bfr2.readLine()).equals("")){
  System.out.println(tempMustThoughNode);
  arrayListOfMustThoughNode.add(tempMustThoughNode);
 }
 while(!(tempMustThoughNode=bfr2.readLine()).equals("")){
  System.out.println(tempMustThoughNode);
  arrayListOfMustThoughEdge.add(tempMustThoughNode.split(" ")[0]);
  arrayListOfMustThoughEdge.add(tempMustThoughNode.split(" ")[1]);
 }
 
 while((tempMustThoughNode=bfr2.readLine())!=null){
  System.out.println(tempMustThoughNode);
  arrayListOfCanNotThoughEdge.add(tempMustThoughNode.split(" ")[0]);
  arrayListOfCanNotThoughEdge.add(tempMustThoughNode.split(" ")[1]);
 }
 bfr2.close();
}
}

输出信息为

tempcol=41
N7
N12
N2 N4
N13 N14
N11 N12

三、结论:

在Java中,判断空行的方法是:

bfr.readLine( ).equals("");

补充知识:java获取txt文件内容按照行、空格解析

我就废话不多说了,大家还是直接看代码吧~

public static String txt2String(File file) {
    StringBuilder result = new StringBuilder();
    try {
      BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
      String s = null;
      while ((s = br.readLine()) != null) {//使用readLine方法,一次读一行
        result.append(System.lineSeparator() + s);
      }
      br.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
    return result.toString();
  }
 
  public static void main(String[] args) {
    File file = new File("C:\\Users\\Administrator\\Desktop\\文件名.txt");
    String s = txt2String(file);
    String[] split = s.split("\\r?\\n");
    for (String s1 : split) {
      if (s1.length() > 0) {
        String[] split1 = s1.split("\\s+");
        for (String s2 : split1) {
          if (s2.length() > 0) {
            System.out.println(s2);
          }
        }
      }
 
    }
  }

内容出现乱码,则先把文件设置为UTF-8格式。

以上这篇Java在读取文件内容的时候,如何判断出空白行的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MyBatis 实现多对多中间表插入数据

    MyBatis 实现多对多中间表插入数据

    这篇文章主要介绍了MyBatis 实现多对多中间表插入数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java全面解析IO流相关知识

    Java全面解析IO流相关知识

    这篇文章主要介绍了IO流相关知识,包括File,字节流,字符流,特殊操作流(标准输入流,标准输出流,对象序列化与反序列化,properties与IO流结合)相关知识的总结
    2021-08-08
  • 详解Java Streams 中的异常处理

    详解Java Streams 中的异常处理

    这篇文章主要介绍了Java Streams 中的异常处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java中Instant的使用及转换

    Java中Instant的使用及转换

    Instant是java.time包中的一个类,本文主要介绍了Java中Instant的使用及转换,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • mybatis实现增删改查_动力节点Java学院整理

    mybatis实现增删改查_动力节点Java学院整理

    本文通过实例代码给大家介绍了mybatis实现增删改查功能,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09
  • Java对称与非对称加密算法原理详细讲解

    Java对称与非对称加密算法原理详细讲解

    对称加密算法指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,非对称加密算法指加密和解密使用不同密钥的加密算法,也称为公私钥加密
    2022-11-11
  • 实例解析如何正确使用Java数组

    实例解析如何正确使用Java数组

    同一种类型数据的集合。其实数组就是一个容器。运算的时候有很多数据参与运算,那么首先需要做的是什么下面我们就一起来看看。
    2016-07-07
  • Spring Boot+Mybatis的整合过程

    Spring Boot+Mybatis的整合过程

    这篇文章主要介绍了Spring Boot+Mybatis的整合过程,需要的朋友可以参考下
    2017-07-07
  • Java8 使用 stream().sorted()对List集合进行排序的操作

    Java8 使用 stream().sorted()对List集合进行排序的操作

    这篇文章主要介绍了Java8 使用 stream().sorted()对List集合进行排序的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 很简单的Java断点续传实现原理

    很简单的Java断点续传实现原理

    这篇文章主要以实例的方式为大家详细介绍了简单的Java断点续传实现原理,感兴趣的小伙伴们可以参考一下
    2016-07-07

最新评论