2016-10-25 5 views
1

シーケンシャルデータ(Contour Area)の保存に関するいくつかの問題があります。輪郭を検出するプロジェクトがあります。そして、私はアンドロイドにデータ輪郭領域を保存したい。私はすでにその輪郭領域をファイルに保存していますが、その最後のものであり、連続したデータではありません(すべての輪郭領域)。 ここに私の輪郭のコードがあります:私は私のファイル(msydfileを開いてるときにJavaでシーケンシャルデータを保存

private void writeToFile(String data) { 
    try { 
     File sdCard = Environment.getExternalStorageDirectory(); 
     File directory = new File (sdCard.getAbsolutePath() + "/MyFiles"); 
     directory.mkdirs(); 

     File file = new File(directory, "mysdfile.txt"); 
     FileOutputStream fOut = new FileOutputStream(file); 
     OutputStreamWriter osw = new OutputStreamWriter(fOut); 
     osw.write(data); 
     osw.close(); 
    } 
    catch (IOException e) { 
     Log.e("Exception", "File write failed: " + e.toString()); 
    } 

String taString = Integer.toString(a)+","+Float.toString(b)+","+Double.toString(maxVal); 
writeToFile(taString); 

このWRITETOFILE機能:

Imgproc.findContours(mDilated, contours, hierarchy, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE); 
int a =15; 
float b = (float)4.55; 
double maxVal = 0; 
int maxValIdx = 0; 
for (int contourIdx=0; contourIdx < contours.size(); contourIdx++) { 
    double contourArea = Imgproc.contourArea(contours.get(contourIdx)); 
    if (maxVal < contourArea) { 
     maxVal = contourArea; 
     maxValIdx = contourIdx; 
    } 

は、ここでファイルを保存するための私のコードです.txt)には、a、b、等高線エリア(15、4.55、8418など)だけが含まれています。

うまくいけば、誰かがこれについていくつかの経験を持っています。おかげで..

+0

ファイルにデータを追加しますか? –

+0

もちろん@MartinFrankはい、輪郭領域を保存したい私のファイルにログインしてください.. –

+1

http://stackoverflow.com/questions/1625234/how-to-append-text-to-an -yesting-file-in-java – ZdaR

答えて

0

、あなたのデータを追加したい場合は、あなたがそうするOutputStreamを伝える必要があります:

boolean append = true; 
FileOutputStream fOut = new FileOutputStream(file, append); 

は、さらなる説明のためにFileOutputStreamを参照してください。

+0

その仕事@マーティンフランク、ありがとう:D –

関連する問題