Я пытаюсь создать файл размером 1024. Код приведен ниже.Создать тестовый файл размером 1024 байта с использованием Java
import java.security.*;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedWriter;
public class GenerateFile {
public static void main(String[] args) {
SecureRandom random = new SecureRandom();
byte[] array = new byte[1024];
random.nextBytes(array);
for(byte i = 0; i<array.length; i++) {
System.out.println(bytes[i]);
}
try {
File file = new File("testfile");
FileWriter out = new FileWriter(file);
out.write(bytes);
System.out.println("Done ..........");
out.close();
if (file.createNewFile()){
System.out.println("File is created!");
}
else {
System.out.println("File already exists.");
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
Это ошибка, которую я получаю. Я не понимаю, как я могу использовать массив байтов здесь. Опять же, я хочу, чтобы размер файла был 1024 байта.
GenerateFile.java:20: error: no suitable method found for write(byte[])
out.write(bytes);
^
method Writer.write(int) is not applicable
(argument mismatch; byte[] cannot be converted to int)
method Writer.write(char[]) is not applicable
(argument mismatch; byte[] cannot be converted to char[])
method Writer.write(String) is not applicable
(argument mismatch; byte[] cannot be converted to String)
method OutputStreamWriter.write(int) is not applicable
(argument mismatch; byte[] cannot be converted to int)
Спасибо!
Как заполнить его случайными числами вместо '.' ? –
@ Y.V используйте 'Random.nextBytes', как вы это делали в своем вопросе. –
@ Y.V по определению текст не случайный, поэтому имеет смысл только двоичный код. –