gpt4 book ai didi

java - 使用 BufferedReader.readLine() 读取文本文件太慢

转载 作者:行者123 更新时间:2023-12-02 17:52:49 24 4
gpt4 key购买 nike

我正在尝试读取一个包含大约 1000 行很长行的文本文件。整个文件大小约为 1.4MB。我正在使用 BufferedReader 的 readLine 方法来读取文件。发生的情况是需要 8-10 秒才能在控制台上打印输出。我尝试使用 php 的 fgets 进行相同的操作,它眨眼间就打印出所有相同的行!这怎么可能?下面是我正在使用的代码

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ClickLogDataImporter {
public static void main(String [] args) {
try {
new ClickLogDataImporter().getFileData();
} catch (Exception ex) {
Logger.getLogger(ClickLogDataImporter.class.getName()).log(Level.SEVERE, null, ex);
}
}

public void getFileData() throws FileNotFoundException, IOException {
String path = "/home/shantanu/Documents";
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(path+"/sample.txt")));
String line = "";
while((line = (br.readLine())) != null) {
System.out.println(line);
}

}
}

PHP 代码

<?php
$fileName = "/home/shantanu/Documents/sample.txt";
$file = fopen($fileName, 'r');
while(($line = fgets($file)) != false) {
echo $line."\n";
}
?>

请告诉我这个问题

最佳答案

我不确定,但我认为 PHP 只是根据您使用的方法打印文件,Java 读取文件并从中获取每一行,这意味着检查每个字符是否有换行符,该过程似乎不是完全一样。

string file_get_contents

如果您尝试使用 PHP 逐行打印文件中的每一行,速度应该会更慢。

关于java - 使用 BufferedReader.readLine() 读取文本文件太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16807928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com