首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帧缓冲区图像查看器(FBI)在作为进程执行时失败- Java

帧缓冲区图像查看器(FBI)在作为进程执行时失败- Java
EN

Stack Overflow用户
提问于 2018-08-29 03:45:35
回答 1查看 784关注 0票数 1

我试图使用Linux实用程序将一些.jpg图像写入Java Raspberry 3上的框架缓冲区。

在命令行中,一切都按预期的方式工作。我的java应用程序运行良好,直到我尝试运行以下代码(顺便说一下,没有Java错误):

代码语言:javascript
复制
Process p = Runtime.getRuntime().exec("sudo fbi -T 1 -d /dev/fb0 -a -noverbose -t 1 -cachemem 0 /home/pi/Desktop/*.jpg");

在执行此进程时,FBI的黑色加载屏幕确实会显示,因此我知道它正在正确执行,但是FBI的响应是一个错误,它声明了/home/pi/Desktop/*.jpg Loading Failed。我以前见过这个错误,但只有当我引用一个不存在的文件夹或文件时才会看到这个错误。我试图显示的图像在桌面上。我可以从CLI中的任何位置运行与调用exec相同的命令,它可以工作。我不太清楚为什么它不能从我的Java应用程序中运行。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-29 03:50:10

简单:"*“通配符(或任何其他通配符)是基础shell的一个特性。因此,当您在命令行上手动使用它时,它可以工作。

但是,当通过流程生成器使用它时,没有shell。因此,没有任何组件可以将星号转换为文件名列表。因此,该字符串作为文件名传递,当然,没有这样的文件!

您要么编写用代码扩展通配符的Java代码(然后直接传递文件名列表),要么必须显式地启动shell (使用所有命令进行正确处理可能会很棘手)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52069149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档