Is this a good way to implement a tile map from a text file?
Single responsibility principle

This class is responsible for one too many things:


Model a tile map
Parse a text file


As such it violates the single responsibility principle.
I suggest to move the file parsing code somewhere else.
For example in a TileMapFactory.fromFile method, or TileMapFileParser.

In general, you know something's not right when the constructor is too big.
If it has to do IO, which is especially troublesome because of exception handling and resource management, that's really way too much burden for a constructor.

Prefer List instead of arrays

If you don't need specifically an array, then use a List instead:

List&lt;BufferedImage&gt; tiles = new ArrayList&lt;&gt;();


It will make your life easier. For example, when adding the tiles,
you won't need to worry about correctly incrementing the array indexes:

   tiles.add(Assets.grass);
   tiles.add(Assets.dirt);
   // ... and so on


Magic numbers

The number 32 keeps coming up at many places in the code.
Declare it as a static final variable with a meaningful name.

Get rid of unused stuff

For example this method is pointless, remove it:


   public void update()
   {
   }



Coding style

Instead of y += 1, use ++y.