为什么jvm无法在树莓派上写入gpio?

喘息

我有一个看起来像的java方法,

private void exportGpio(){
    String fullPath = path + "/export"; // /sys/class/gpio/export
    FileWriter writer = null;
    try {
        writer = new FileWriter(fullPath);
        writer.write("" + number); 
    } catch (IOException e) {
        Log.e(TAG + number, "Could not export", e);
    }
    finally {
        if(writer != null){
            try {
                writer.flush(); <- FAILING HERE
                writer.close();
            } catch (IOException e) {
                Log.e(TAG + number, "Could not close writer", e);
            }
        }
    }
}

一旦进入刷新,它将引发异常

java.io.IOException:设备或资源繁忙java.io.IOException:设备或资源在sun.nio处java.io.FileOutputStream.writeBytes(本机方法)处繁忙,在java.io.FileOutputStream.write(FileOutputStream.java:345)处Sun的.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)在sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)在sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)在sun。 nis.cs.StreamEncoder.flush(StreamEncoder.java:141)at光源.java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229).lights.GPIO.exportGpio(GPIO.java:106).GPIO。(GPIO。 java:34)在light.LightManager。(LightManager.java:34)在main.Main.createSubsystems(Main.java:17)在main.Main.main(Main.java:34)

到底是怎么回事?Java不能与树莓派上的syses交互吗?

喘息

我最终弄清楚了这一点。我看着STaefi的答案,我认为你错了。os驱动器应处理电压。我发现的是Java中的FileWritter类不适用于这些类型的虚拟文件。我最终尝试了java print writer类,并且一切正常。

PrintWriter writer = null;
try {
    writer = new PrintWriter(fullPath, "UTF-8");
    writer.write("1");
} catch (IOException e) {
    Log.e(TAG + number, "Could not turn on", e);
}
finally {
    if(writer != null){
        try {
            writer.close();
        } catch (Exception e) {
            Log.e(TAG + number, "Could not close writer", e);
        }
    }
}

我仍然不确定为什么文件编写器无法正常工作,但是这种解决方案至少可以帮助其他任何陷入困境的人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

fstream 无法在树莓派上写入/打开文件

来自分类Dev

CMake无法在树莓派上编译

来自分类Dev

SignalR无法在Windows 10的树莓派上运行

来自分类Dev

尝试在树莓派上构建 Qt 项目,为什么会抛出有关 qmake 的错误?

来自分类Dev

树莓派上的JavaFX动画

来自分类Dev

树莓派上Vim的Solarized主题

来自分类Dev

在树莓派上升级opencv

来自分类Dev

在树莓派上自动启动

来自分类Dev

在树莓派上自动启动

来自分类Dev

在树莓派上打开同步端口

来自分类Dev

树莓派上的pip安装失败

来自分类Dev

为什么我无法写入mmaped文件

来自分类Dev

为什么我的StreamWriter无法写入文件?

来自分类Dev

无法管理更新树莓派,gpio-header html文件

来自分类Dev

为什么我的GPIO引脚无法通过RPi.GPIO正确设置?

来自分类Dev

无法在树莓派上为python3.4安装urllib3

来自分类Dev

无法将Arduino ClearCore设备连接到树莓派上托管的MQTT服务器

来自分类Dev

为什么我无法使用python在树莓派中创建杯子连接?

来自分类Dev

如何在树莓派上安装ncurses?

来自分类Dev

在树莓派上远程构建C程序

来自分类Dev

树莓派上的ESC的PWM频率和占空比

来自分类Dev

树莓派上的Scala Web框架性能

来自分类Dev

在树莓派上用蓝牙测量距离

来自分类Dev

树莓派上的Edge浏览器?

来自分类Dev

树莓派上的WiFi上的Python套接字

来自分类Dev

我可以在树莓派上运行matlab吗?

来自分类Dev

更改树莓派上的默认SFTP目录

来自分类Dev

Python sounddevice在树莓派上不产生声音

来自分类Dev

如何在树莓派上停止或卸载屏幕?