在Java中指定COM端口文件

3
在类Unix操作系统中,我们可以通过诸如/dev/ttyUSB0之类的文件访问串行端口。而根据这个问题,文件名例如COM1:可用于访问串行端口。那么,在Java中有没有这样的文件名替代方案?我不想使用串行通信库。 编辑 我的代码想要达到这种效果。
String INPUT_PORT_FILE_NAME = linux?"/dev/ttyUSB0":"<File name of comport>"

File in = new File(INPUT_PORT_FILE_NAME)

我需要的是Windows设备文件的替代品。
编辑: 我在一台Linux机器上,我想让我的代码更易于移植!

看看这个链接是否有帮助:http://stackoverflow.com/questions/21799178/where-to-download-java-communications-api - Ravindra HV
1个回答

4
是的,在Linux上可以通过设备文件如/dev/ttyS0/dev/ttyUSB0等访问串口。这实际取决于用于通信的硬件/芯片,甚至是发行版。
如果程序中使用了相同的硬件,可能可以部分实现。当我在Linux中使用串口通信库和真实物理串口时,我使用配置中的端口号,因此数字3表示n=3,所以在Windows上打开“COM”+(1+n),在Linux上打开“/dev/ttyS”+n。也许你可以类似地访问“/dev/ttyUSB”+n。
但是不能保证在双重启动后,端口2将是/dev/ttyS1和同一计算机上的COM2。
不推荐不使用Serial Comm库的方式,因为它很麻烦且不具有Java的可移植性。我建议根据操作系统使用不同的端口配置。

我已经添加了我想要的代码样式...我想使用File读写来访问我的端口,就像在Linux上访问设备文件一样。 - Amanuel Nega
没有比使用{Input,Output}流和线程更简单的方法了。串口不是具有已知“字节大小”的常规文件。它会发生变化,我们应该实现钩子来捕获数据准备好的时刻。 - TadejP
简而言之,您的意思是在Windows中无法像在Java中一样访问它们作为常规文件? - Amanuel Nega
不好意思,我害怕不能简短回答。 - TadejP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接