2つの便利なJavaクラスが見つかりました:DataInputStream
とDataOutputStream
私のPythonスクリプトを使用するためのフロートを書きます。
最初にfloatとして4バイトを読み取るreadFloat
メソッドを使用して.raw
ファイルからfloat値を読み取りました。
FileInputStream is = new FileInputStream(inputName);
DataInputStream dis = new DataInputStream(is);
ArrayList<Float> fbuffer = new ArrayList<Float>();
try {
while(dis.available()>0){
float f = dis.readFloat(); //read 4 bytes as float
// this fails if it is not 4x
fbuffer.add(f);
}
} catch (IOException e) {
//nothing happens, there are 1,2 or 3 bytes at the end we are going to ignore
//e.printStackTrace();
}
dis.close();
is.close();
このようにして、float値を持つファイルを作成します。このファイルはpythonスクリプトによって読み込まれます。ここで私は、私は、浮動小数点数のリストを取得hereのようにフィルタを実行し、山車の新しいリストを取得
fin = open('fileWithFloatsName')
floatList = [line.rstrip('\n') for line in fin]
floatList = destringifyList(floatList)
fin.close()
を使用しています。この結果をJavaがScanner
オブジェクトで読み取る新しいファイルに書きます。
最後に、新しい.raw
ファイルを作成し、floatをwriteFloat
メソッドでバイトとして書き込みます。
それだけです。誰かが何か良いことを示唆すれば(部分的にもそうでなくても)、私はそれを感謝します。