It seems like FileReader is reading a file into memory but I don't want it to. Based on memory use of java reported by the OS, my simple program climbs from initial ~11MB to over 60MB, while reading a ~50MB file. Just to baseline this, the following program without FileReader runs for about 30 seconds and remains pegged at ~11MB memory use.

```
public class TestClass {
    public static void main(String[] args) throws Exception {
        int count=0;
        while ((count++) < 30000) {
            Thread.sleep(1);
        }
    }
}

```

However, once I add FileReader, the memory use will climb from ~11MB to over 60MB before the java process ends. But according to the doc, "FileReader is meant for reading streams of characters." What am I missing?

```
import java.io.FileReader;

public class TestClass {
    public static void main(String[] args) throws Exception {
        FileReader reader = new FileReader("/tmp/big.txt");
        int charCode = -1;
        while ((charCode = reader.read()) > -1) {
            Thread.sleep(1);
        }
        reader.close();
    }
}

```