0

Android システムでは、「/proc/net/xt_qtaguid/stats」というファイルを読みたかったのです。ただし、2行目の読み取りに失敗した場合。1行目の読み取りに成功しました。ただし、hasNextLine() は false を返すため、次の行を読み取ることができません。

コードは次のとおりです。

    File statsFile = new File("/proc/net/xt_qtaguid/stats");
    Scanner scanner = null;
    try {
        scanner = new Scanner(statsFile);
        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            Log.d(TAG, "hasNextLine(): " + scanner.hasNextLine());

ここに私が読もうとした統計ファイルがあります。ファイルは、この投稿では 1 行のように見えます。ただし、各行は「0x0A」で終わり、3 行で表示されます。

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 2 wlan0 0x0 0 0 1129 10 2066 32 80 2 1049 8 0 0 0 0 530 8 1536 24 3 wlan0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4

1 に答える 1

2

古き良きリーダー クラスを使用してみてください。

try {
    File statsFile = new File("/proc/net/xt_qtaguid/stats");
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(statsFile)));

    String line;
    while((line = br.readLine()) != null){
        Log.d(TAG, "readline(): " + line);
    }

    br.close();
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
于 2012-04-16T07:02:27.923 に答える