我有一些文本文件的時間信息,如:讀和拆分的文本文件(JAVA)
46321882696937;46322241663603;358966666
46325844895266;46326074026933;229131667
46417974251902;46418206896898;232644996
46422760835237;46423223321897;462486660
現在,我需要的文件的第三列,計算平均值。
我該怎麼做?我需要獲取每個文本行,然後獲取最後一列?
我有一些文本文件的時間信息,如:讀和拆分的文本文件(JAVA)
46321882696937;46322241663603;358966666
46325844895266;46326074026933;229131667
46417974251902;46418206896898;232644996
46422760835237;46423223321897;462486660
現在,我需要的文件的第三列,計算平均值。
我該怎麼做?我需要獲取每個文本行,然後獲取最後一列?
您可以使用BufferedReader
或Scanner
或者其他一些技術來逐行讀取文件。使用掃描儀是非常簡單的,就像這樣:
public void read(File file) throws IOException{
Scanner scanner = new Scanner(file);
while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}
}
對於分割字符串與定義的分隔符,你可以使用拆分法,即recevies正則表達式作爲參數,並通過所有的字符序列將字符串分割那符合那個表達。在你的情況下,它很簡單,只需將;
String[] matches = myString.split(";");
如果你想獲得一個數組的最後一個項目你可以使用它作爲length
參數。記住,數組的最後一個項目總是在指數length - 1
String lastItem = matches[matches.length - 1];
如果你加入所有一起,你可以得到這樣的事情:
public void read(File file) throws IOException{
Scanner scanner = new Scanner(file);
while(scanner.hasNext()){
String[] tokens = scanner.nextLine().split(";");
String last = tokens[tokens.length - 1];
System.out.println(last);
}
}
您可以最後將變量強制轉換爲Integer.valueOf(last)的整數並將所有值一起添加。 – 2013-04-09 13:32:47
是的,你必須閱讀文件的每一行,並用「;」分隔它。分隔符並讀取第三個元素。
好了,你有三個任務這裏:逐行讀取文件;解析每一行;計算平均值。每個任務有多遠? – 2013-04-09 13:24:22
你有一些代碼給我們嗎? – 2013-04-09 13:24:27