これは新しいタイプの質問です。私はjavaでwriteObjectメソッドを使ってファイルを保存しています。私はC++を使ってC++ベースのコードを読む必要があります。私はバイナリファイルを使って読み込みしようとしましたが、正しく読み込めませんでした。Java(writeObject)で保存されたファイルをC++で読み取るにはどうすればいいですか
char buffString[50];
char buffer[100];
std::ifstream conFile(configFileName, std::ios::in|std::ios::binary);
//conFile.read(buffer, 100);
std::cout << buffer << std::endl;
if (!conFile) {
std::cout << " Error reading thee file " << std::endl;
} else {
std::cout << "Trying to read." << std::endl;
conFile.seekg(0);
conFile.read(buffer,14); strcpy(buffString, buffer);
std::cout << buffString << " buffer " << buffer << std::endl;
}
このconFileが指すデータファイルには、string、integer、およびdoubleが含まれています。
trapezDET.pngtcmstMeVsrjava.lang.DoubleJ)kDvaluexrjava.lang.Number XP @ DSQ〜@ NSQ〜@ DSQ〜:ファイルには、次のようなものが含まれています@V srjava.lang.Integer⠤ 8Ivaluexq〜sq〜? sq〜sq〜? sq〜q〜sq〜@F sq〜? sq〜? sq〜? SQ〜?ZG {T5 /ホーム/ベガ/ NetBeansProjects /トム/データ/ 6133.root
私はそれを把握することができなかった間、私はネットを検索。 ありがとうございました
ファイルをプレーンテキストとして保存することをお勧めします。 Javaだけでも、デフォルトのオブジェクト直列化を使用して構成値を格納することはお勧めしません。 – Marvin
なぜそれをしたいですか?つまり、ここでの意図は重要です。 – perencia
標準形式で保存します。キーと値のペア、yaml、xml、json、Javaオブジェクトのシリアライズ以外のもの – beresfordt