我在保存顺序数据方面遇到一些问题(轮廓区域),我有一个检测轮廓的项目。我想在我的android中保存数据轮廓区域。我已经将该轮廓区域保存在文件中,但它只是最后一个,而不是顺序数据(所有轮廓区域)。 这是我的轮廓代码:
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;
}
这是我保存文件的代码:
String taString = Integer.toString(a)+","+Float.toString(b)+","+Double.toString(maxVal);
writeToFile(taString);
这就是writeToFile函数:
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());
}
然后当我打开我的文件(msydfile.txt)时,它只包含a,b,轮廓区域(如:15,4.55,8418)。但我想保存其他轮廓区域,如顺序数据。
希望有人在这方面有一些经验。感谢..
答案 0 :(得分:0)
如果您要附加数据,则必须告诉OutputStream
:
boolean append = true;
FileOutputStream fOut = new FileOutputStream(file, append);
有关详细说明,请参阅FileOutputStream。