【发布时间】:2012-02-23 05:06:16
【问题描述】:
我想读取 Android ICS 中的 /proc/net/xt_qtaguid/stats,它记录了所有接口和应用程序的流量统计信息。以下是代码sn-p:
String line = null;
BufferReader reader = new BufferedReader(new FileReader(new File("/proc/net/xt_qtaguid/stats")));
line = reader.readLine();/*Here I can read the 1st line correctly, it return "idx iface acct_tag_hex..."*/
splitLine(line, keys);
line = reader.readLine();//!!!!!Read next line, it returns null!!!!!!
如果我 cat 这个文件,它会显示:
IDX IFACE acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets P>
2 rmnet0 0x0 0 0 6266 105 8882 121 1428 30 4838 75 0 0 208 4 2552 44 6122 73
3 rmnet0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 rmnet0 0x0 1000 0 0 0 2262 39 0 0 0 0 0 0 0 0 2262 39 0 0
5 rmnet0 0x0 1000 1 0 0 290 5 0 0 0 0 0 0 0 0 290 5 0 0
6 rmnet0 0x0 10004 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 rmnet0 0x0 10004 1 20177 36 7037 81 20177 36 0 0 0 0 7037 81 0 0 0 0
我发现NetworkStatsFactory.java(Android original class)也读取了这个文件并使用了同样的方法。 我尝试使用这个类,它也无法正确读取:
try{
NetworkStats stats = new NetworkStatsFactory().readNetworkStatsDetail(10004);
stats.size();//size is ZERO!
}
catch(IllegalStateException e){
//Do nothing
}
Google 工程师是否犯了同样的错误? :)
【问题讨论】:
标签: android bufferedreader filereader proc