You can do this with a simple file reader. Your file is delimited by spaces; each row ends with a newline character according to your example.
As such, you just need to do a bit of arithmetic to calculate the indexes as you have price, post code and date information in the third piece of each row.
public static void main(String...args) throws IOException {
final File file = new File("/home/william/test.txt");
final String delimiter = " ";
final int dateStrLen = 10;
final int postCodeLen = 6;
BufferedReader br = new BufferedReader(new FileReader(file));
String tmp;
while ((tmp = br.readLine()) != null) {
String[] values = tmp.split(delimiter);
String name = values[0];
String city = values[1];
int dateStartPos = values[2].length() - dateStrLen;
int postCodeStartPos = dateStartPos - postCodeLen;
String date = values[2].substring(dateStartPos);
String postCode = values[2].substring(postCodeStartPos, dateStartPos);
String price = values[2].substring(0, postCodeStartPos);
// do something with the data
// you could store it with a dto or in arrays, one for each "column"
System.out.println(String.format("name: %s; city: %s; price: %s; post-code: %s; date: %s", name, city, price, postCode, date));
}
}