我的代码需要取 0 到 255 之间的整数值并将其作为字符串写入文件。它需要快速,因为它可能会被非常快速地重复调用,因此在重负载下任何优化都会变得明显。关于将大量数据写入文件的有效方法,这里还有其他问题,但是少量数据呢?
这是我目前的方法:
public static void writeInt(final String filename, final int value)
{
try
{
// Convert the int to a string representation in a byte array
final String string = Integer.toString(value);
final byte[] bytes = new byte[string.length()];
for (int i = 0; i < string.length(); i++)
{
bytes[i] = (byte)string.charAt(i);
}
// Now write the byte array to file
final FileOutputStream fileOutputStream = new FileOutputStream(filename);
fileOutputStream.write(bytes, 0, bytes.length);
fileOutputStream.close();
}
catch (IOException exception)
{
// Error handling here
}
}
我认为 aBufferedOutputStream
在这里没有帮助:构建刷新缓冲区的开销对于 3 个字符的写入可能会适得其反,不是吗?我还能做其他改进吗?