Java中的缓冲区大小

Ton*_*ony 5 java io buffer file

我有一个关于 Java 缓冲区大小的小问题。为什么我们将缓冲区大小设置为10242^n。例如:

    inputStream = file.getInputStream();
    File newFile = new File("C:/uploads/operators.xml");
    outputStream = new FileOutputStream(newFile);
    int read = 0;

    byte[] bytes = new byte[1024];
    while ((read = inputStream.read(bytes)) != -1) {
        outputStream.write(bytes, 0, read);
    }
    outputStream.close();
    inputStream.close();
Run Code Online (Sandbox Code Playgroud)

如何outputStream.write(bytes, 0, read);运作?我们为什么要使用bytes数组?

Ant*_*sev 1

您从文件流中读取字节长度bytes.length并将它们存储在字节数组中bytes[]。然后将字节写入outputStreem 形式的bytes[]数组中。有关更多信息,请阅读Java I/O文档。