可能重复:
在 Java 中创建具有给定大小的文件
说,我想创建一个大小为 1KB 的文件,这种方法可行吗?我创建了一个类似的 java 数组
char[] s = new char[1024]; //1KByte
并使用写入器将其写入新创建的 *.txt 文件,文件的大小会精确到 1Kb 吗?如果没有,我应该如何创建所需大小的文件?
可能重复:
在 Java 中创建具有给定大小的文件
说,我想创建一个大小为 1KB 的文件,这种方法可行吗?我创建了一个类似的 java 数组
char[] s = new char[1024]; //1KByte
并使用写入器将其写入新创建的 *.txt 文件,文件的大小会精确到 1Kb 吗?如果没有,我应该如何创建所需大小的文件?
Javachar
类型为 16 位长,OutputStreamWriter对象是面向字符串的,而不是面向字节的。根据writer 的输出编码,您可以获得例如 2 KB 的文件,或者甚至是在字符集上无法预测的内容,每个字符的字节数是可变的。
您最好直接使用OutputStream,或者在循环中使用 abyte[]
或使用write(int)。这将保证你得到你所要求的。