java - Matlab同时读写

标签 java matlab file

我有一个传感器,它将收集的数据写入txt文件(连续,每秒一个),我唯一关心的数据是传感器收集的最后一个数据, 我想用Matlab(或Java)分析数据,该怎么做? 提前致谢!

最佳答案

您需要能够监视文件的更新,然后在检测到更改时采取一些操作。我相信以前这必须通过轮询机制来完成,但在 Java 7 中您可以使用 WatchService:

public static void main(String[] args) throws InterruptedException {

    Path dir = Paths.get("src/main/resources/");
    try {
        WatchService watcher = FileSystems.getDefault().newWatchService();
        WatchKey key = dir.register(watcher, StandardWatchEventKinds.ENTRY_MODIFY);

        while (true){
            watcher.take();
            List<WatchEvent<?>> events = key.pollEvents();
            // Handle update

            key.reset();
        }
    } catch (IOException x) {
        System.err.println(x);
    }
}

我建议您在处理更新时仔细考虑线程安全性 - 我建议在读取文件之前将文件复制到安全的“暂存”位置,以避免与更新过程发生读/写冲突。

关于java - Matlab同时读写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903121/

相关文章:

matlab - 从 Matlab 轮廓函数中选择等值线

python - 如何关闭从未分配给变量的文件对象?

c - 扫描句子中字母之间的数字

java - 如何在 Eclipse 调试器中检查 "current"异常?

java - 获取在正则表达式中进行匹配的组的编号/ID

java - 如何从jsp页面使用GMail SMTP服务器发送电子邮件?

java - 将 String 转换为 int

java - 通过Web服务在android应用程序(java)与windows应用程序(vb.net)之间进行通信

matlab - 如何在Matlab中使用系统矩阵获得多输入多输出系统的传递函数

python - 如何使用 h5py 导入 .mat-v7.3 文件