利用Java的缓冲流读取文本文件的数据

时间:2024-10-10 09:44:59

近期为处理文本类型(txt)的实验数据,使用了 BufferedReader 来进行按行读取并提取需要的数据。

PS :因为本人并没有学习过 Python 处理数据并作图的技术,想着只是要将有用数据提出,之后在 orgin 中进行绘图即可,就用刚学的 Java 的 IO 流知识进行解决,也算是检验自己的学习成果吧。

目标需求

在这里插入图片描述
为了将数据提取出来在 orgin 中进行画图,需要按下面的要求进行处理:

  • 文本数据是按行呈现的
  • 每一行中有不需要的字符,比如数据名、冒号、单位、正负号和百分比等
  • 两行数据之间有一行空格
  • 只提取数据量有效数值
  • 前面多余的零需要去掉,但表示小数的零需要保留

思路

利用处理速度快的缓冲流 BufferedReader 实现按行读取,遇到空行则跳过。对于有效行,匹配我们所需要的数据前缀来读取,并利用 String 中的 subString 方法来截取弃掉前后缀的子串。再根据情况将无用的零处理掉。在控制台按行输出数据即可。

代码实现

将处理方法封装成了一个 ReadFileDataUtil 工具类

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileDataUtil {
   
    public static void readExperData(String fileName, String prefix, int prefixCharNum

相关文章