我有一個文本文件「test.txt」,用於存儲學生的詳細信息,例如I.D號和所採取的課程。 我希望在「LASTSTUDENTEENTRYLINE」之前立即添加新學生。 我遇到的問題是我正在收集名爲「objectInputFieldsList」的數組列表中的學生詳細信息。我一直試圖用「objectInputFieldsList」+「LASTSTUDENTEENTRYLINE」替換「LASTSTUDENTEENTRYLINE」。 問題是兩個不混合 - 一個是數組列表,另一個是字符串。數組列表包含來自用戶的文本字段值的輸入。 如何成功解決此問題並用「objectInputFieldsList」+「LASTSTUDENTEENTRYLINE」替換LASTSTUDENTEENTRYLINE? 非常感謝大家提前。如何使用用戶輸入的ArrayList替換文本文本的字符串
這裏是我到目前爲止一直在想:更新之前
示例文本文件:
123 | Oliver | Muchai
456 | Revilo | Chamu
LASTSTUDENTEENTRYLINENNAMES
Classes | 123 | English
Classes | 456 | Bilogy
LASTSTUDENTEENTRYLINENSUBJECTS
更新之後用一個新的用戶文本文件應看:
123 | Oliver | Muchai
456 | Revilo | Chamu
678 | Eddys | Rockery
LASTSTUDENTEENTRYLINENNAMES
Classes | 123 | English
Classes | 456 | Biology
Classes | 678 | Kiswahili
LASTSTUDENTEENTRYLINENSUBJECTS
代碼:
// The ArrayList called from the class that gets the user input from the JTextFields
AddNewClientSaveAction save = new AddNewClientSaveAction();
StringBuffer sb = new StringBuffer();
String lastNames = "LASTSTUDENTEENTRYLINENNAMES ";
String lastSubject = "LASTSTUDENTEENTRYLINENSUBJECTS";
String textToEdit1 = lastNames;
int cnt1 = sb.indexOf(textToEdit1);
String replacementString1 = "\n" + save + "\n" + lastNames;
sb.replace(cnt1,cnt1+textToEdit1.length(), replacementString1);
什麼'sb'在你的代碼更好?你可以發佈'sb.replace(....)'方法! – Azad
@Azad我的猜測是'StringBuilder' .... – MadProgrammer
對不起:StringBuffer sb = new StringBuffer(); –