在我的文本文件中,我有客户详细信息,例如公司名称,公司地址等。我的文件内容是意大利语,所以ragione sociale是公司名称,indirizzo是地址等。
文本文件内容:
ID:1
ragione sociale:Telecom Italia S.p.A.
indirizzo:Via Gaetano Negri, n. 1
comune:Milano
cap:20123
provincia:MI
nazione:italia
partita iva:00488410010
codice fiscale:00488410010
telefono:119
---------------------------------
ID:2
ragione sociale:Wind Tre Spa
indirizzo:Casella Postale 14155
comune:Milano
cap:20152
provincia:MI
nazione:Italia
partita iva:13378520152
codice fiscale:13378520152
telefono:155
---------------------------------
当用户编辑例如ID:2's
详细信息时,我想在同一文本文件中打印已编辑的信息并获取此信息:
ID:1
ragione sociale:Telecom Italia S.p.A.
indirizzo:Via Gaetano Negri, n. 1
comune:Milano
cap:20123
provincia:MI
nazione:italia
partita iva:00488410010
codice fiscale:00488410010
telefono:119
---------------------------------
ID:2
ragione sociale: new Company name
indirizzo: new address
comune:Milano
cap:20152
provincia:MI
nazione:Italia
partita iva:13378520152
codice fiscale:13378520152
telefono:155
---------------------------------
使用我在此问题底部的代码,新文本文件是:
ID:1
ragione
sociale:Telecom
Italia
S.p.A.
indirizzo:Via
Gaetano
Negri,
n.
1
comune:Milano
cap:20123
provincia:MI
nazione:italia
partita
iva:00488410010
codice
fiscale:00488410010
telefono:119
---------------------------------
ID:2
ragione sociale:company name
sociale:Wind
Tre
Spa
indirizzo:Casella
Postale
14155
comune:Milano
cap:20152
provincia:MI
nazione:Italia
partita
iva:13378520152
codice
fiscale:13378520152
telefono:155
---------------------------------
但是当我将我的文本文件放入ArrayList
时,它会将每个空格视为列表中的新元素,例如公司名称:
list[0] company
list[1] name
但我想:
list[0] company name
有人可以帮助我吗?
我的Java代码:
Scanner s = new Scanner(new File("customers.txt"));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext()) list.add(s.next());
s.close();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("ID:2")) {
//list.remove(i+1);
list.set(i+1, "ragione sociale:company name");
break;
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
FileWriter w=new FileWriter("output.txt");
BufferedWriter b=new BufferedWriter(w);
PrintWriter printer= new PrintWriter(b);
for (int i = 0; i < list.size(); i++) {
printer.println(list.get(i));
}
printer.close();