私はアンドロイド/ javaの初心者ですが、実際にはC++プログラマーです。私のアンドロイドプロジェクトでは、構造化されたデータをファイルに書き込んで、C++プログラムを使って読み返したいと思っています。しかし、書き込まれたデータファイルには、望ましくないデータを含む構造化データが含まれています。ファイルへの書き込み中に不要なデータを避ける方法。私はandroidでwriteobjectを使用して作成したファイルから不要なデータを削除する方法
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class TestAppActivity extends Activity implements Serializable {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
Example example = new Example();
example.number = 50;
example.name = "Test_Value";
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(new File(getCacheDir(),"")+"/text.dat"));
out.writeObject((Example) example);
out.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream(new File(getCacheDir(), "") + "/text.dat"));
Example readed = (Example)in.readObject();
in.close();
Log.e("Received", readed.number + " " + readed.name);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e("__ERROR__", e.toString());
}
}
class Example implements Serializable {
public int number;
public String name;
}
}
おかげでObjectOutputStreamのは、それが他のJavaプログラムによって、後で読むことができspecific formatであなたのオブジェクトを書き込み、事前にちょうど参考のために、また、私のプログラムのためのコードを貼り付けて、プログラムはエラーが含まれていない
「不要なデータ」とは何ですか?そして、プレーンテキストやXMLなどを使って読み書きするのはなぜですか? – THelper
不要なデータにはクラス名、いくつかのコードなどが含まれています。C++では、file.write関数を使用してファイルに構造体を簡単に書き込むことができます。 – Riskhan