我已經創建了一個方法BufferedReader
,該方法打開之前由程序創建的文本文件並提取一些字符。我的問題是,它提取了整個行,我只想提取一個指定的字符後,:
。Java從文本上的某個點提取文本文本
這裏是我的try/catch
塊:
try {
InputStream ips = new FileInputStream("file.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br1 = new BufferedReader(ipsr);
String ligne;
while((ligne = br1.readLine()) != null) {
if(ligne.startsWith("Identifiant: ")) {
System.out.println(ligne);
id = ligne;
}
if(ligne.startsWith("Pass: ")) {
System.out.println(ligne);
pass = ligne;
}
}
System.out.println(ligne);
System.out.println(id);
System.out.println(pass);
br1.close();
} catch (Exception ex) {
System.err.println("Error. "+ex.getMessage());
}
此刻,我要回到我的String
ID整個ligne
,和同爲pass
- 順便說一下,所有的sysout
是測試和是無用的存在。
如果有人知道如何發送到:
後面的行而不是整行,我可能搜索不好,但谷歌不是我的朋友。
每行確實只有一個':',它效果很好。感謝你的回答,我發現了子串方法,非常強大。 – fselva
或'id = id.substring(id.indexOf(':')+ 1);'如果你想在第一次後啓動':'... –
我剛剛編輯了我的答案,你應該從ligne子字符串不id,抱歉。 – Stugal