我有一个带有标题和两个坐标 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/