Zadanie:Dziwne symbole podczas korzystania bajt oparte FileOutputStream, FileWriter char oparte jest OK
Napisz aplikację Java, który tworzy plik na lokalnym systemie plików który zawiera 10000 losowo generowanych wartości całkowite z zakresu od 0 100000. Wypróbuj najpierw za pomocą strumienia bajtowego, a następnie za pomocą strumienia opartego na znakach. Porównaj rozmiary plików utworzone przez dwa różne podejścia.
Stworzyłem strumień bajtowy. Po uruchomieniu tego programu w fileOutput dostaję dziwne symbole. Czy robię coś źle ?
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
public class Bytebased {
public static void main(String[] args) throws IOException {
File outFile = new File("fileOutput.txt");
FileOutputStream fos = new FileOutputStream(outFile);
Random rand = new Random();
int x;
for(int i=1;i<=10001;i++){
x = rand.nextInt(10001);
fos.write(x);
}
fos.close();
}
}
Kiedy używam strumienia char oparte to działa:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
public class Charbased {
public static void main(String[] args) throws IOException {
File outFile = new File("fileOutput2.txt");
FileWriter fw = new FileWriter(outFile);
Random rand = new Random();
int x;
String y;
for(int i=1;i<=10001;i++){
x = rand.nextInt(10001);
y=x + " ";
fw.write(y);
}
fw.close();
}
}