FileObserver不适用于/ proc / net / tcp6

时间:2015-10-12 21:14:58

标签: android fileobserver

我想监视/ proc / net / tcp6文件并使用FileObserver有效地执行此操作,但是由于某些未知原因,onEvent()回调从未调用过。

    observerTcp6 = new FileObserver("/proc/net/tcp6", FileObserver.ALL_EVENTS) {
        @Override
        public void onEvent(int event, String path) {
            Log.i("TAG", "onEvent");
        }
    };
    observerTcp6.startWatching();

使用常规的File类解析这个文件非常完美。 谁能在这帮助我? :)

1 个答案:

答案 0 :(得分:2)

失败的原因是/proc/net/tcp6实际上不是文件; - )

它看起来只是一个文件(例如,你可以“打开”和“读取”它),但实际上整个/proc/*条目是各种内核统计数据\数据的接口,表示为“伪文件” “仅用于简化对它们的访问。

因此,除了“open”和“read”之外,你不能对它们使用任何其他文件方法。

P.S。 您的问题与Linux相关,而不是Android。