Witam! Otóż chciałbym się dowiedzieć czym się różni np. FileReader od Scannera lub BufferedReadera. Słyszałem tyle, że FileReader czyta pliki binarne, a Scanner sam String... Taki kod:

import java.io.*;
import java.util.*;
public class TestClass {
	public static void main(String[] args) throws IOException{
		File temp = File.createTempFile("TestClass-", ".tmp");
		
		BufferedWriter bf = new BufferedWriter(new FileWriter(temp));
		
		bf.write("No siema eniu!\n");
		bf.close();
		
		FileReader fr = new FileReader(temp);
		Scanner s = new Scanner(temp);
		
		System.out.println(s.nextLine());
		System.out.println(fr.read());
		fr.close();
	}
}

Zwrócił mi taki wynik:
No siema eniu!
78

Dodatkowo, dlaczego przy tworzeniu plików tymczasowych, maja one dodatkowe cyfry?
+
Zawsze gdy otwierałem jakieś pliki tymczasowe (notepad++) były one w postaci binarnej, nie takiej... Zwykłej, u mnie było zwyczajne "No siema eniu!" Co zrobić, aby pliki tymczasowe zapisywały się w postaci binarnej, nie w postaci zwyczajnego stringa?