java - 如何从缓冲区读取并存储为 int 和 float 变量

标签 java

我有一个给定格式的输入流,它是在arduino编程软件中编码的。我使用Netbeans+JDK从串口读取。

左腿

时间(毫秒):14448
加速度计:-1.38,2.2,1.3
陀螺仪:1.0,-0.9,1.2
磁力计:-2,1,-1.2

我需要编写一个算法来计算步数,因此我只需要从上述输入流中提取加速度计 (x,y,z) 读数。下面给出的是代码。

while (inputStream.available() > 0) {
    //int numBytes = inputStream.read(readBuffer);
    char buffer = (char)inputStream.read();
    this.bufferRx += buffer;
    System.out.print(buffer);
}

如何才能仅从字符串缓冲区获取时间和加速度计 x、y、z 值并将其存储为 int 和 float 值?

最佳答案

普通的旧java:

    BufferedReader br = new BufferedReader(new InputStreamReader(input, "ascii"));

    for (String line; null != (line = br.readLine()); )
    {
        if (line.startsWith("Accelerometer:"))
        {
            String[] split = line.split("[:,]");
            float x = Float.parseFloat(split[1]);
            float y = Float.parseFloat(split[2]);
            float z = Float.parseFloat(split[3]);
            // do somehting with the data.
            System.out.printf("%f,%f,%f\r\n",x,y,z);
        }
    }

享受 java 8 的乐趣:

    Iterator<float[]> iterator = 
        new BufferedReader(new InputStreamReader(input, "ascii"))
            .lines()
            .filter(s -> s.startsWith("Accelerometer:"))
            .map(s -> s.split("[:,]"))
            .map(p -> new float[]{
                    Float.parseFloat(p[1]),
                    Float.parseFloat(p[2]),
                    Float.parseFloat(p[3]),
            }).iterator();

    while (iterator.hasNext())
    {
        float[] p = iterator.next();
        System.out.printf("%f,%f,%f\r\n", p[0], p[1], p[2]);
    }

关于java - 如何从缓冲区读取并存储为 int 和 float 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29360202/

相关文章:

java - splashscreen 无法在 java 的 netbeans IDE 中工作?

java - 在java.util.Calendar中,为什么设置Calendar.YEAR的值会影响Calendar.MONTH的值?

java - 获取 java.lang.NullPointerException

java - 在字符串中搜索停用词

java - “找不到或加载主类”是什么意思?

java - 将图像文件设置为背景

java - 使用 .getName 打印文件名

java - JOGL:从 GLJPanel 获取 GL()?

java - 将日期从 ISO 8601 Zulu 字符串转换为 Java 8 中的 java.time.Instant

java - 来自数据库的实体类