How to turn the following information into a model?

  java, question

English Chinese
Anhui anhui
Beijing
Chongqing
Fujian Fujian
Gansu Gansu
Guangdong
Guangxi
Guizhou Guizhou
Hainan Hainan
Hebei
Heilongjiang Heilongjiang
Henan Henan
Hong Kong hong kong
Hubeihubei
Hunan Hunan
Jiangsu Jiangsu
Jiangxi Jiangxi
Jilin jilin
Liaoning
Macau macau
Inner Mongolia
Ningxia
Qinghai Qinghai
Shandong
Shanxi Shanxi
Shanxi Shaanxi
Shanghai
Sichuan
Taiwan
Tianjin
Tibet
Xinjiang
Yunnan
Zhang Zhejiang
How to convert toList<State>
among themStateHave attributesenglishName
chineseName
Ask for a code. . . This information is in the middle of the text file ~
It is better to be complete.
Zhang ZhejiangThis Entre Dos has one or more spaces ~

Seems to use Java8 syntax

Javaimport java.util.*;
 import java.io.*;
 
 public class Parser {
 private List<State> states;
 
 public List<State> getStates() {
 return states;
 bracket
 
 public void parse(String filename) throws Exception {
 states = new ArrayList<>();
 try (FileInputStream stream = new FileInputStream(filename);
 InputStreamReader iReader = new InputStreamReader(stream, "utf-8");
 BufferedReader reader = new BufferedReader(iReader)) {
 String line;
 while ((line = reader.readLine()) !  = null) {
 parseLine(line.trim());
 bracket
 bracket
 bracket
 
 private void parseLine(String line) {
 int index = line.lastIndexOf(' ');
 if (index < 0) {
 return;
 bracket
 
 String Chinese = Line. substring (index plus 1);
 String english = line.substring(0, index).trim();
 
 states.add(new State(english, chinese));
 bracket
 
 public static class State {
 public String englishName;
 public String chineseName;
 
 public State() {}
 public State(String english, String chinese) {
 englishName = english;
 chineseName = chinese;
 bracket
 
 @Override
 public String toString() {
 Return "[ add englishName and ","add chineseName and "]";
 bracket
 bracket
 
 public static final void main(String[] args) throws Exception {
 Parser parser = new Parser();
 parser.parse("data.txt");
 for (State s : parser.getStates()) {
 System.out.println(s);
 bracket
 bracket
 bracket

The following is the output

[English, Chinese]
 [Anhui, Anhui]
 [Beijing, Beijing]
 [Chongqing, Chongqing]
 [Fujian, Fujian]
 [Gansu, Gansu]
 [Guangdong, Guangdong]
 [Guanxi, [Guangxi]
 [Guizhou, Guizhou]
 [Hainan, Hainan]
 [Hebei, Hebei]
 [Heilongjiang, Heilongjiang]
 [Henan, Henan]
 [Hong Kong, Hong Kong]
 [[Hubeii, Hubei]
 [Hunan, Hunan]
 [Jiangsu, Jiangsu]
 [Jiangxi, Jiangxi]
 [Jilin, jilin]
 [Liaoning, Liaoning]
 [Macau, Macao]
 [Neimenggu, Inner Mongolia]
 [Ningxia, ningxia]
 [Qinghai, Qinghai]
 [Shangdong, [Shandong]
 [Shanxi, Shanxi]
 [Shanxi, Shaanxi]
 [Shanghai, Shanghai]
 [Sichuan, Sichuan]
 [Taiwan, Taiwan]
 [Tianjin, Tianjin]
 [Xizang, Tibet]
 [Sinkiang, Xinjiang]
 [Yunan, [Yunnan]
 [Zhang, [Zhejiang]