java - bufferedReader 用于获取 K 均值聚类文件的工作原理

标签 java header statistics bufferedreader

我有一个带有标题和两个坐标 x 和 y 的数据集。我只是好奇 bufferedReader 在 Java 中如何工作,用于我从 Google 获得的以下代码,用于在字符串变量中分别获取 header 和数据。

File file = new File(fileName);
        fileReader = new FileReader(file);
        bufferedReader = new BufferedReader(fileReader);
        @SuppressWarnings("unused")
        String header = bufferedReader.readLine();
        String line = "";
        while(( line = bufferedReader.readLine() ) != null ){
            String[] dataArr = line.split(STR_DELIM);
...
...
...

在使用 R 进行统计时,我们需要纠正一个行代码,其中我们提到 Header = True,它会自动从第 2 行开始读取。

但是在 java 中我们使用 readLine() 函数。 但我不确定它是如何工作的。

我的主要问题是: 1. readLine() 函数将从数据集中读取数据多久?它会寻找\n 来停止读取吗? 2.如代码所示,使用readLine()函数读取第一行后,在while循环中使用时会从第二行开始吗?

任何与 bufferedReader 及其应用程序密切合作过的人,请帮助我澄清这些疑问。

谢谢——

最佳答案

每次调用 readline() 方法都会返回以“\n”(对于 unix)或“\r\n”(对于 windows)结尾的字符串。 它将读取直到到达流末尾,即直到文件中有行。我认为这回答了你的第一个问题 要回答第二个问题,每次调用 readLine() 都会从输入流(文件)返回连续的行。如果没有更多行,则返回 null。 BufferedReader 与 FileReader 相同,但具有 FileReader 中缺少的附加缓冲功能。 顺便说一句,如果您正在实现 K-means 算法,我建议您看一下 MATLAB 中的 kmeans() 函数。 使用 MATLAB,您可以用不到 5 行代码实现 kmeans 算法。另外,您可以使用 MATLAB 中的 importfile() 方法来读取输入数据

关于java - bufferedReader 用于获取 K 均值聚类文件的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33820128/

相关文章:

Java 使用两个循环

regex - 使用 nginx proxy_pass 修改 Location header

sql - 使用MySQL计算中位数的简单方法

mysql - 最优二元线性回归计算

java - 将字段名称作为参数传递给 Java 中同一类中的方法

java - 使用 gradle 和 intellij 为 JavaFX 构建 FatJar,得到 NoClassDefFOundError

java - Java/Spring JDBC:批量插入2个表:从第一次批量插入获得FK ID,这对于第二张表是必需的

c++ - 在 .h 文件中声明静态常量 vector 时出错,在 .cpp 文件中定义时出错

c++ - 如何访问外部库和头文件 VC10

statistics - MCMC 如何帮助贝叶斯推理?