gpt4 book ai didi

java - 需要帮助使此代码更高效

转载 作者:行者123 更新时间:2023-12-01 16:40:12 24 4
gpt4 key购买 nike

我总是使用这种方法来轻松读取文件的内容。效率够高吗? 1024 适合缓冲区大小吗?

public static String read(File file) {
FileInputStream stream = null;
StringBuilder str = new StringBuilder();

try {
stream = new FileInputStream(file);
} catch (FileNotFoundException e) {
}

FileChannel channel = stream.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(1024);

try {
while (channel.read(buffer) != -1) {
buffer.flip();

while (buffer.hasRemaining()) {
str.append((char) buffer.get());
}

buffer.rewind();
}
} catch (IOException e) {
} finally {
try {
channel.close();
stream.close();
} catch (IOException e) {
}
}

return str.toString();
}

最佳答案

您可能会发现这已经足够快了。

String text = FileUtils.readFileToString(file);

AFAIK,这使用默认的缓冲区大小 8K。不过,我发现更大的尺寸(例如 64K)可能会产生轻微的差异。

关于java - 需要帮助使此代码更高效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527581/

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