java 文件读写 速度快_Java,从txt文件中读取速度最快的课程

读取和拆分的速度为85 MB/sec。 我使用了560 MB文件,每行有20列。 下面是代码:

package csvreader_speedtest;

import java.io.*;

public class Csvreader_SpeedTest {

final char delimiter = ',';

String[] splitted = new String[64];

Csvreader_SpeedTest(String filename) throws Throwable {

File file = new File(filename);

BufferedReader reader = new BufferedReader(new FileReader(file));

String line;

long t0 = System.currentTimeMillis();

while ((line = reader.readLine()) != null) {

split(line);

}

long t1 = System.currentTimeMillis();

reader.close();

System.out.println("read " + file.length() + " bytes in " + (t1 - t0) + " ms");

}

private void split(String line) {

int idxComma, idxToken = 0, fromIndex = 0;

while ((idxComma = line.indexOf(delimiter, fromIndex)) != -1) {

splitted[idxToken++] = line.substring(fromIndex, idxComma);

fromIndex = idxComma + 1;

}

splitted[idxToken] = line.substring(fromIndex);

}

}

输出:

read 561362951 bytes in 6575 ms

更新: 如果我使用的splitted = line.split(",");代替split(line);,速度下降到32 MB/sec 更新2:而不破,则速度为194 MB/sec。你需要多快?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值