gpt4 book ai didi

java - lejos 文件写入 NXT

转载 作者:行者123 更新时间:2023-12-02 09:26:20 25 4
gpt4 key购买 nike

我是 java 和 lejos 的新手,所以如果我问了相当愚蠢的问题,请不要责怪我。

我试图通过在电机上旋转乐高超声波传感器来扫描我的 nxt 周围的 360 度区域。每 5 度,它就会将距离保存到 .txt 文件中。

我的问题是,稍后当我使用 nxjbrowse.bat 上传文件后从 PC 读取该文件时,它只包含链接到应该保存在那里的数字的 ASCII 字符 (0 - 255)。

我的 NXT 代码:

package Dataloggers;<p></p>

<p>import java.io.<em>;
import lejos.nxt.</em>;</p>

<p>public class USdistance {</p>

int totalRotation = 360;
int scanDensity = 5;
UltrasonicSensor ultrasonicSensor = new UltrasonicSensor(SensorPort.S3);
File distanceFile = new File("Distances.txt");
FileOutputStream fileStream = null;

public static void main(String[] args) {
@SuppressWarnings("unused")
USdistance usD = new USdistance();
}

public USdistance() {
Motor.A.setAcceleration(2000);
Motor.A.setSpeed(50);

try {
fileStream = new FileOutputStream(distanceFile);
} catch (Exception e) {
LCD.drawString("Can't make a file", 0, 0);
Button.ESCAPE.waitForPress();
System.exit(1);
}

DataOutputStream dataStream = new DataOutputStream(fileStream);

Motor.A.rotate(90);
Motor.A.resetTachoCount();
Motor.A.backward();

do {
if (-(Motor.A.getTachoCount()) % scanDensity == 0 ) {
int distance = ultrasonicSensor.getDistance();
try {
dataStream.writeInt(distance);
fileStream.flush();
} catch (IOException e) {
LCD.drawString("Can't write to the file", 0, 1);
Button.ESCAPE.waitForPress();
System.exit(1);
}
}
} while (-(Motor.A.getTachoCount()) < totalRotation);

Motor.A.stop();

try {
fileStream.close();
} catch (IOException e) {
LCD.drawString("Can't save the file", 0, 1);
Button.ESCAPE.waitForPress();
System.exit(1);
}

Motor.A.rotate(270);
}
}

提前感谢罗布

最佳答案

我通过使用以下方法解决了我的问题:

int distance = ultrasonSensor.getDistance();
BufferedOutputStream buffStream = new BufferedOutputStream(new FileOutputStream(new File(distances.txt)));
buffStream.write(distance.getBytes());

通过使用这个,我的文本文件看起来像这样: 41 41 0 0 0 0 0 0 40 40 40 40 40 39 39 39 39 39 39 40 40 40 40 而不是㔵㈀㔵㈀㔵㈀㔵㈀㔵㐀5㐴㐀3㌴㐀4㐴㌀6㌳㌀3㈵㔀2㈵㔀2㈵㔀2㈵㔀2㌵㔀3㌵㈀㔵㈀㔵㈀㔵㈀

无论如何,感谢您的回复@SimpleCoder

关于java - lejos 文件写入 NXT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com