import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import **.Address;
/**
* 用户基本信息 地址获取
*
*/
public class AddressFactory {
private static String filePath;
/**
* 得到用户基本信息地址列表
*/
public static List<Address> getAddList(){
String path=filePath;
//省
List<Address> Slist = AddressFactory.getAddressList(path+"/province.txt",2,null);
for(Address sa : Slist){
//市
sa.setAddList(AddressFactory.getAddressList(path+"/city.txt",1,sa.getAddressCode()));
for(Address qa : sa.getAddList()){
//区
qa.setAddList(AddressFactory.getAddressList(path+"/district.txt",1,qa.getAddressCode()));
}
}
return Slist;
}
/**
* 解析TXT文件 得到省/市/区
*/
public static List<Address> getAddressList(String fileName,Integer ste,String patentCode){
File file=new File(fileName);
FileInputStream sr=null;
BufferedReader dr=null;
List<Address> list=null;
try{
sr=new FileInputStream (file);
dr=new BufferedReader(new InputStreamReader(sr));
String line = dr.readLine();
list=new ArrayList<Address>();
Address address=null;
while(line!= null){
address=new Address();
String[] strs=line.split("\t");
if(ste==1){
if(patentCode.equals(strs[2])){
address.setAddressName(strs[1]);
address.setAddressCode(strs[0]);
list.add(address);
}
}else{
address.setAddressName(strs[1]+(strs[2].equals("0")?"省":""));
address.setAddressCode(strs[0]);
list.add(address);
}
line = dr.readLine();
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(null!=sr){
try{
sr.close();
}catch(Exception r){
r.printStackTrace();
}
}
if(null!=dr){
try{
dr.close();
}catch(Exception r){
r.printStackTrace();
}
}
}
return list;
}
/**
* 根据文件名得到文件所在磁盘绝对路径
*/
public static void getFilePath(String path){
if(null==filePath){
File file=new File(path);
if(file.isDirectory()){
File[] files = file.listFiles();
if(null!=files){
for(File f : files){
if(f.isDirectory()){
if(f.getName().equalsIgnoreCase("address")){
filePath=f.getAbsolutePath();
return;
}
}
}
for(File f : files){
//使用递归循环
getFilePath(f.getAbsolutePath());
}
}
}
}
}
}
package ***;
import java.util.List;
public class Address {
private String addressCode;
private String addressName;
private List<Address> addList;
public List<Address> getAddList() {
return addList;
}
public void setAddList(List<Address> addList) {
this.addList = addList;
}
public String getAddressCode() {
return addressCode;
}
public void setAddressCode(String addressCode) {
this.addressCode = addressCode;
}
public String getAddressName() {
return addressName;
}
public void setAddressName(String addressName) {
this.addressName = addressName;
}
@Override
public String toString() {
return "Address [addressCode=" + addressCode + ", addressName="
+ addressName + "]";
}
}
province.txt
1 北京 1
2 天津 13 河北 0
4 山西 0
5 内蒙古 0
6 辽宁 0
7 吉林 0
8 黑龙江 0
9 上海 1
10 江苏 0
11 浙江 0
12 安徽 0
13 福建 0
14 江西 0
15 山东 0
16 河南 0
17 湖北 0
18 湖南 0
19 广东 0
20 广西 0
21 海南 0
22 重庆 1
23 四川 0
24 贵州 0
25 云南 0
26 西藏 0
27 陕西 0
28 甘肃 0
29 青海 0
30 宁夏 0
31 新疆 0
32 台湾 1
33 香港 1
34 澳门 1
city.txt
2 县 1
3 市辖区 2
4 县 2
5 石家庄市 3
6 唐山市 3
7 秦皇岛市 3
8 邯郸市 3
9 邢台市 3
10 保定市 3
11 张家口市 3
12 承德市 3
13 沧州市 3
14 廊坊市 3
15 衡水市 3
16 太原市 4
17 大同市 4
18 阳泉市 4
19 长治市 4
20 晋城市 4
21 朔州市 4
22 晋中市 4
23 运城市 4
24 忻州市 4
25 临汾市 4
26 吕梁市 4
27 呼和浩特市 5
28 包头市 5
29 乌海市 5
30 赤峰市 5
31 通辽市 5
32 鄂尔多斯市 5
33 呼伦贝尔市 5
34 巴彦淖尔市 5
35 乌兰察布市 5
36 兴安盟 5
37 锡林郭勒盟 5
38 阿拉善盟 5
39 沈阳市 6
40 大连市 6
41 鞍山市 6
42 抚顺市 6
43 本溪市 6
44 丹东市 6
45 锦州市 6
46 营口市 6
47 阜新市 6
48 辽阳市 6
49 盘锦市 6
50 铁岭市 6
51 朝阳市 6
52 葫芦岛市 6
53 长春市 7
54 吉林市 7
55 四平市 7
56 辽源市 7
57 通化市 7
58 白山市 7
59 松原市 7
60 白城市 7
61 延边朝鲜族自治州 7
62 哈尔滨市 8
63 齐齐哈尔市 8
64 鸡西市 8
65 鹤岗市 8
66 双鸭山市 8
67 大庆市 8
68 伊春市 8
69 佳木斯市 8
70 七台河市 8
71 牡丹江市 8
72 黑河市 8
73 绥化市 8
74 大兴安岭地区 8
75 市辖区 9
76 县 9
77 南京市 10
78 无锡市 10
79 徐州市 10
80 常州市 10
81 苏州市 10
82 南通市 10
83 连云港市 10
84 淮安市 10
85 盐城市 10
86 扬州市 10
87 镇江市 10
88 泰州市 10
89 宿迁市 10
90 杭州市 11
91 宁波市 11
92 温州市 11
93 嘉兴市 11
94 湖州市 11
95 绍兴市 11
96 金华市 11
97 衢州市 11
98 舟山市 11
99 台州市 11
100 丽水市 11
101 合肥市 12
102 芜湖市 12
103 蚌埠市 12
104 淮南市 12
105 马鞍山市 12
106 淮北市 12
107 铜陵市 12
108 安庆市 12
109 黄山市 12
110 滁州市 12
111 阜阳市 12
112 宿州市 12
113 巢湖市 12
114 六安市 12
115 亳州市 12
116 池州市 12
117 宣城市 12
118 福州市 13
119 厦门市 13
120 莆田市 13
121 三明市 13
122 泉州市 13
123 漳州市 13
124 南平市 13
125 龙岩市 13
126 宁德市 13
127 南昌市 14
128 景德镇市 14
129 萍乡市 14
130 九江市 14
131 新余市 14
132 鹰潭市 14
133 赣州市 14
134 吉安市 14
135 宜春市 14
136 抚州市 14
137 上饶市 14
138 济南市 15
139 青岛市 15
140 淄博市 15
141 枣庄市 15
142 东营市 15
143 烟台市 15
144 潍坊市 15
145 济宁市 15
146 泰安市 15
147 威海市 15
148 日照市 15
149 莱芜市 15
150 临沂市 15
151 德州市 15
152 聊城市 15
153 滨州市 15
154 荷泽市 15
155 郑州市 16
156 开封市 16
157 洛阳市 16
158 平顶山市 16
159 安阳市 16
160 鹤壁市 16
161 新乡市 16
162 焦作市 16
163 濮阳市 16
164 许昌市 16
165 漯河市 16
166 三门峡市 16
167 南阳市 16
168 商丘市 16
169 信阳市 16
170 周口市 16
171 驻马店市 16
172 武汉市 17
173 黄石市 17
174 十堰市 17
175 宜昌市 17
176 襄樊市 17
177 鄂州市 17
178 荆门市 17
179 孝感市 17
180 荆州市 17
181 黄冈市 17
182 咸宁市 17
183 随州市 17
184 恩施土家族苗族自治州 17
185 省直辖行政单位 17
186 长沙市 18
187 株洲市 18
188 湘潭市 18
189 衡阳市 18
190 邵阳市 18
191 岳阳市 18
192 常德市 18
193 张家界市 18
194 益阳市 18
195 郴州市 18
196 永州市 18
197 怀化市 18
198 娄底市 18
199 湘西土家族苗族自治州 18
200 广州市 19
201 韶关市 19
202 深圳市 19
203 珠海市 19
204 汕头市 19
205 佛山市 19
206 江门市 19
207 湛江市 19
208 茂名市 19
209 肇庆市 19
210 惠州市 19
211 梅州市 19
212 汕尾市 19
213 河源市 19
214 阳江市 19
215 清远市 19
216 东莞市 19
217 中山市 19
218 潮州市 19
219 揭阳市 19
220 云浮市 19
221 南宁市 20
222 柳州市 20
223 桂林市 20
224 梧州市 20
225 北海市 20
226 防城港市 20
227 钦州市 20
228 贵港市 20
229 玉林市 20
230 百色市 20
231 贺州市 20
232 河池市 20
233 来宾市 20
234 崇左市 20
235 海口市 21
236 三亚市 21
237 省直辖县级行政单位 21
238 市辖区 22
239 县 22
240 市 22
241 成都市 23
242 自贡市 23
243 攀枝花市 23
244 泸州市 23
245 德阳市 23
246 绵阳市 23
247 广元市 23
248 遂宁市 23
249 内江市 23
250 乐山市 23
251 南充市 23
252 眉山市 23
253 宜宾市 23
254 广安市 23
255 达州市 23
256 雅安市 23
257 巴中市 23
258 资阳市 23
259 阿坝藏族羌族自治州 23
260 甘孜藏族自治州 23
261 凉山彝族自治州 23
262 贵阳市 24
263 六盘水市 24
264 遵义市 24
265 安顺市 24
266 铜仁地区 24
267 黔西南布依族苗族自治州 24
268 毕节地区 24
269 黔东南苗族侗族自治州 24
270 黔南布依族苗族自治州 24
271 昆明市 25
272 曲靖市 25
273 玉溪市 25
274 保山市 25
275 昭通市 25
276 丽江市 25
277 思茅市 25
278 临沧市 25
279 楚雄彝族自治州 25
280 红河哈尼族彝族自治州 25
281 文山壮族苗族自治州 25
282 西双版纳傣族自治州 25
283 大理白族自治州 25
284 德宏傣族景颇族自治州 25
285 怒江傈僳族自治州 25
286 迪庆藏族自治州 25
287 拉萨市 26
288 昌都地区 26
289 山南地区 26
290 日喀则地区 26
291 那曲地区 26
292 阿里地区 26
293 林芝地区 26
294 西安市 27
295 铜川市 27
296 宝鸡市 27
297 咸阳市 27
298 渭南市 27
299 延安市 27
300 汉中市 27
301 榆林市 27
302 安康市 27
303 商洛市 27
304 兰州市 28
305 嘉峪关市 28
306 金昌市 28
307 白银市 28
308 天水市 28
309 武威市 28
310 张掖市 28
311 平凉市 28
312 酒泉市 28
313 庆阳市 28
314 定西市 28
315 陇南市 28
316 临夏回族自治州 28
317 甘南藏族自治州 28
318 西宁市 29
319 海东地区 29
320 海北藏族自治州 29
321 黄南藏族自治州 29
322 海南藏族自治州 29
323 果洛藏族自治州 29
324 玉树藏族自治州 29
325 海西蒙古族藏族自治州 29
326 银川市 30
327 石嘴山市 30
328 吴忠市 30
329 固原市 30
330 中卫市 30
331 乌鲁木齐市 31
332 克拉玛依市 31
333 吐鲁番地区 31
334 哈密地区 31
335 昌吉回族自治州 31
336 博尔塔拉蒙古自治州 31
337 巴音郭楞蒙古自治州 31
338 阿克苏地区 31
339 克孜勒苏柯尔克孜自治州 31
340 喀什地区 31
341 和田地区 31
342 伊犁哈萨克自治州 31
343 塔城地区 31
344 阿勒泰地区 31
345 省直辖行政单位 31
346 香港 33
347 澳门 34
348 台北 32
349 高雄 32
350 基隆 32
351 台中 32
352 台南 32
353 新竹 32
354 嘉义 32
355 台北县 32
356 宜兰县 32
357 桃园县 32
358 新竹县 32
359 苗栗县 32
360 台中县 32
361 彰化县 32
362 南投县 32
363 云林县 32
364 嘉义县 32
365 台南县 32
366 高雄县 32
367 屏东县 32
368 台东县 32
369 花莲县 32
370 澎湖县 32
district.txt
1 市辖区 1
2 县 1
3 市辖区 2
4 县 2
5 石家庄市 3
6 唐山市 3
7 秦皇岛市 3
8 邯郸市 3
9 邢台市 3
10 保定市 3
11 张家口市 3
12 承德市 3
13 沧州市 3
14 廊坊市 3
15 衡水市 3
16 太原市 4
17 大同市 4
18 阳泉市 4
19 长治市 4
20 晋城市 4
21 朔州市 4
22 晋中市 4
23 运城市 4
24 忻州市 4
25 临汾市 4
26 吕梁市 4
27 呼和浩特市 5
28 包头市 5
29 乌海市 5
30 赤峰市 5
31 通辽市 5
32 鄂尔多斯市 5
33 呼伦贝尔市 5
34 巴彦淖尔市 5
35 乌兰察布市 5
36 兴安盟 5
37 锡林郭勒盟 5
38 阿拉善盟 5
39 沈阳市 6
40 大连市 6
41 鞍山市 6
42 抚顺市 6
43 本溪市 6
44 丹东市 6
45 锦州市 6
46 营口市 6
47 阜新市 6
48 辽阳市 6
49 盘锦市 6
50 铁岭市 6
51 朝阳市 6
52 葫芦岛市 6
53 长春市 7
54 吉林市 7
55 四平市 7
56 辽源市 7
57 通化市 7
58 白山市 7
59 松原市 7
60 白城市 7
61 延边朝鲜族自治州 7
62 哈尔滨市 8
63 齐齐哈尔市 8
64 鸡西市 8
65 鹤岗市 8
66 双鸭山市 8
67 大庆市 8
68 伊春市 8
69 佳木斯市 8
70 七台河市 8
71 牡丹江市 8
72 黑河市 8
73 绥化市 8
74 大兴安岭地区 8
75 市辖区 9
76 县 9
77 南京市 10
78 无锡市 10
79 徐州市 10
80 常州市 10
81 苏州市 10
82 南通市 10
83 连云港市 10
84 淮安市 10
85 盐城市 10
86 扬州市 10
87 镇江市 10
88 泰州市 10
89 宿迁市 10
90 杭州市 11
91 宁波市 11
92 温州市 11
93 嘉兴市 11
94 湖州市 11
95 绍兴市 11
96 金华市 11
97 衢州市 11
98 舟山市 11
99 台州市 11
100 丽水市 11
101 合肥市 12
102 芜湖市 12
103 蚌埠市 12
104 淮南市 12
105 马鞍山市 12
106 淮北市 12
107 铜陵市 12
108 安庆市 12
109 黄山市 12
110 滁州市 12
111 阜阳市 12
112 宿州市 12
113 巢湖市 12
114 六安市 12
115 亳州市 12
116 池州市 12
117 宣城市 12
118 福州市 13
119 厦门市 13
120 莆田市 13
121 三明市 13
122 泉州市 13
123 漳州市 13
124 南平市 13
125 龙岩市 13
126 宁德市 13
127 南昌市 14
128 景德镇市 14
129 萍乡市 14
130 九江市 14
131 新余市 14
132 鹰潭市 14
133 赣州市 14
134 吉安市 14
135 宜春市 14
136 抚州市 14
137 上饶市 14
138 济南市 15
139 青岛市 15
140 淄博市 15
141 枣庄市 15
142 东营市 15
143 烟台市 15
144 潍坊市 15
145 济宁市 15
146 泰安市 15
147 威海市 15
148 日照市 15
149 莱芜市 15
150 临沂市 15
151 德州市 15
152 聊城市 15
153 滨州市 15
154 荷泽市 15
155 郑州市 16
156 开封市 16
157 洛阳市 16
158 平顶山市 16
159 安阳市 16
160 鹤壁市 16
161 新乡市 16
162 焦作市 16
163 濮阳市 16
164 许昌市 16
165 漯河市 16
166 三门峡市 16
167 南阳市 16
168 商丘市 16
169 信阳市 16
170 周口市 16
171 驻马店市 16
172 武汉市 17
173 黄石市 17
174 十堰市 17
175 宜昌市 17
176 襄樊市 17
177 鄂州市 17
178 荆门市 17
179 孝感市 17
180 荆州市 17
181 黄冈市 17
182 咸宁市 17
183 随州市 17
184 恩施土家族苗族自治州 17
185 省直辖行政单位 17
186 长沙市 18
187 株洲市 18
188 湘潭市 18
189 衡阳市 18
190 邵阳市 18
191 岳阳市 18
192 常德市 18
193 张家界市 18
194 益阳市 18
195 郴州市 18
196 永州市 18
197 怀化市 18
198 娄底市 18
199 湘西土家族苗族自治州 18
200 广州市 19
201 韶关市 19
202 深圳市 19
203 珠海市 19
204 汕头市 19
205 佛山市 19
206 江门市 19
207 湛江市 19
208 茂名市 19
209 肇庆市 19
210 惠州市 19
211 梅州市 19
212 汕尾市 19
213 河源市 19
214 阳江市 19
215 清远市 19
216 东莞市 19
217 中山市 19
218 潮州市 19
219 揭阳市 19
220 云浮市 19
221 南宁市 20
222 柳州市 20
223 桂林市 20
224 梧州市 20
225 北海市 20
226 防城港市 20
227 钦州市 20
228 贵港市 20
229 玉林市 20
230 百色市 20
231 贺州市 20
232 河池市 20
233 来宾市 20
234 崇左市 20
235 海口市 21
236 三亚市 21
237 省直辖县级行政单位 21
238 市辖区 22
239 县 22
240 市 22
241 成都市 23
242 自贡市 23
243 攀枝花市 23
244 泸州市 23
245 德阳市 23
246 绵阳市 23
247 广元市 23
248 遂宁市 23
249 内江市 23
250 乐山市 23
251 南充市 23
252 眉山市 23
253 宜宾市 23
254 广安市 23
255 达州市 23
256 雅安市 23
257 巴中市 23
258 资阳市 23
259 阿坝藏族羌族自治州 23
260 甘孜藏族自治州 23
261 凉山彝族自治州 23
262 贵阳市 24
263 六盘水市 24
264 遵义市 24
265 安顺市 24
266 铜仁地区 24
267 黔西南布依族苗族自治州 24
268 毕节地区 24
269 黔东南苗族侗族自治州 24
270 黔南布依族苗族自治州 24
271 昆明市 25
272 曲靖市 25
273 玉溪市 25
274 保山市 25
275 昭通市 25
276 丽江市 25
277 思茅市 25
278 临沧市 25
279 楚雄彝族自治州 25
280 红河哈尼族彝族自治州 25
281 文山壮族苗族自治州 25
282 西双版纳傣族自治州 25
283 大理白族自治州 25
284 德宏傣族景颇族自治州 25
285 怒江傈僳族自治州 25
286 迪庆藏族自治州 25
287 拉萨市 26
288 昌都地区 26
289 山南地区 26
290 日喀则地区 26
291 那曲地区 26
292 阿里地区 26
293 林芝地区 26
294 西安市 27
295 铜川市 27
296 宝鸡市 27
297 咸阳市 27
298 渭南市 27
299 延安市 27
300 汉中市 27
301 榆林市 27
302 安康市 27
303 商洛市 27
304 兰州市 28
305 嘉峪关市 28
306 金昌市 28
307 白银市 28
308 天水市 28
309 武威市 28
310 张掖市 28
311 平凉市 28
312 酒泉市 28
313 庆阳市 28
314 定西市 28
315 陇南市 28
316 临夏回族自治州 28
317 甘南藏族自治州 28
318 西宁市 29
319 海东地区 29
320 海北藏族自治州 29
321 黄南藏族自治州 29
322 海南藏族自治州 29
323 果洛藏族自治州 29
324 玉树藏族自治州 29
325 海西蒙古族藏族自治州 29
326 银川市 30
327 石嘴山市 30
328 吴忠市 30
329 固原市 30
330 中卫市 30
331 乌鲁木齐市 31
332 克拉玛依市 31
333 吐鲁番地区 31
334 哈密地区 31
335 昌吉回族自治州 31
336 博尔塔拉蒙古自治州 31
337 巴音郭楞蒙古自治州 31
338 阿克苏地区 31
339 克孜勒苏柯尔克孜自治州 31
340 喀什地区 31
341 和田地区 31
342 伊犁哈萨克自治州 31
343 塔城地区 31
344 阿勒泰地区 31
345 省直辖行政单位 31
346 香港 33
347 澳门 34
348 台北 32
349 高雄 32
350 基隆 32
351 台中 32
352 台南 32
353 新竹 32
354 嘉义 32
355 台北县 32
356 宜兰县 32
357 桃园县 32
358 新竹县 32
359 苗栗县 32
360 台中县 32
361 彰化县 32
362 南投县 32
363 云林县 32
364 嘉义县 32
365 台南县 32
366 高雄县 32
367 屏东县 32
368 台东县 32
369 花莲县 32
370 澎湖县 32