所以我在bash上运行它:
# somedevice -getevent
该命令的作用是一直保持运行状态,并且每当我的设备发送某个数据时,例如说它检测到温度变化,它就会输出类似的内容
/dev/xyz: 123 4567 8910112238 20
/dev/xyz: 123 4567 8915712347 19
/dev/xyz: 123 4567 8916412345 22
/dev/xyz: 123 4567 8910312342 25
/dev/xyz: 123 4567 8910112361 18
/dev/xyz: 123 4567 8910112343 20
而且这只会继续运行,并且一旦有任何原因就会输出一些东西。因此,执行无止境。
没有回声运行完美,但是当我尝试使用’>’运算符时,这似乎没有写入文件。
例如
#somedevice -getevent > my_record_file
这不能正常工作,my_record_file只获取 间隔 写入的数据,但是我想立即写入。
有任何想法吗?
因为C标准库根据stdout是否是终端设备来更改输出缓冲模式,所以正在缓冲输出。如果是终端设备(根据isatty(3)
),则stdout是
行缓冲的 :每次写入换行符时,它将被刷新。如果它不是终端设备,那么它将被 完全缓冲 :仅在写入一定数量的数据(通常为4 KB到64
KB左右)时才刷新它。
因此,当您使用Shell的>
重定向操作符将命令的输出重定向到文件时,它不再输出到终端,并且会缓冲其输出。程序可以与setvbuf(3)
和朋友更改其缓冲模式,但是该程序必须配合执行此操作。许多程序都有命令行选项来使它们行缓冲,例如grep(1)
的--line- buffered
选项。查看您的命令是否具有类似的选项。
如果没有这样的选项,则可以尝试使用诸如unbuffer(1)
缓冲输出流之类的工具,但是它并不总是有效,也不是标准实用程序,因此它并不总是可用。
我有几个输出侦听器正在实现。它可以是写到stdout或文件的,也可以是写到内存或任何其他输出目标;因此,我在方法中指定作为(an)参数。 现在,我收到了。在这里向流写入的最佳方式是什么? 我应该只使用吗?我可以给它字节,但如果目标流是字符流,那么它会自动转换吗? 我需要用这里的一些桥流来代替吗?
问题内容: 我有几个正在实现OutputStream的输出侦听器。它可以是写到stdout或文件的PrintStream,也可以写到内存或任何其他输出目标。因此,我在方法中将OutputStream指定为参数。 现在,我已经收到了字符串。在此处写入流的最佳方法是什么? 我应该只使用Writer.write(message.getBytes())吗?我可以给它提供字节,但是如果目标流是字符流,那么它
现在准备要构建一个工具,用来把前面idata.txt里的数据按group分行显示,就像这样: 2 9 10 3 1 2 3 我们可以借助语法分析树的Listener机制来对词法分析结束后生成的记号流进行改写,我们不需要实现每一个Listener接口方法,只需要在捕获到group的时候把换行符插到它末尾就行。实现改写的代码如下所示: import org.antlr.v4.runtime.Toke
本文向大家介绍java 对象输入输出流读写文件的操作实例,包括了java 对象输入输出流读写文件的操作实例的使用技巧和注意事项,需要的朋友参考一下 java 对象输入输出流读写文件的操作实例 java 支持对对象的读写操作,所操作的对象必须实现Serializable接口。 实例代码: 输出结果: 如有疑问请留言或者到本站社区交流讨论,本站关于java开发的文章还有很多,希望大家搜索查阅,感谢阅读
本小节将会介绍基本输入输出的 Java 标准类,通过本小节的学习,你将了解到什么是输入和输入,什么是流;输入输出流的应用场景,File类的使用,什么是文件,Java 提供的输入输出流相关 API 等内容。 1. 什么是输入和输出(I / O) 1.1 基本概念 输入/输出这个概念,对于计算机相关专业的同学并不陌生,在计算中,输入/输出(Input / Output,缩写为 I / O)是信息处理系
问题内容: 在我的机器上,我有一些软件可以在终端中接收命令并返回值列表。 要运行它,我必须输入以下内容: 我正在尝试将其作为python程序的一部分运行。当我运行以下命令时: 然后我得到想要返回到终端的值(其中epoch_name是文件名的变量名)。但是,当我尝试将结果写入文件时: 产生了文件123.txt,但它为空。 我知道我放错了“和/或’字符,但是我不知道它们应该去哪里。 任何帮助将不胜感激