写出大量的小文件

时间:2014-03-11 19:08:55

标签: java file io

我编写了用于将String写入文件的Java代码。字符串的大小几乎不会是10KB。

以下是我为编写文件而编写的代码。我已经写了三种写入文件的方法。

void writeMethod(String string, int m)
{
    if (m == 1) 
    {
        FileChannel rwChannel = new RandomAccessFile(filePath, "rw").getChannel();
        ByteBuffer wrBuf = rwChannel.map(FileChannel.MapMode.READ_WRITE, 0, string.length() * 1);
        wrBuf.put(string.getBytes());
        rwChannel.close();
    }

    if (m == 2)
    {
        FileOutputStream fileOutputStream = new FileOutputStream(filePath);
        fileOutputStream.write(string.getBytes());
        fileOutputStream.close();
    }

    if (m == 3)
    {
        FileWriter bw  new FileWriter(filePath);
        bw.write(string);
        bw.close( );
    }
}

**忽略错误

我从3个线程调用上面的函数,每个线程一个方法。我不确定哪一个是最快的。如果不是这些方式,哪一个是好的。我写了17,000,000个文件。

1 个答案:

答案 0 :(得分:1)

您可能还想尝试将java.nio.file包作为测试目的之一。

类似的东西:

Path path = Paths.get(filePath);
Files.write(path, string.getBytes(), null);