缓冲写入器字符串的格式输出

时间:2012-02-25 10:37:02

标签: android

我有以下代码:

BufferedWriter buffWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
buffWriter.write("\"time\",\"x voltage\", z voltage \n");

稍后,我再次调用buffwriter.write:

buffWriter.write("\"" + time[i] + "\",\"" + an_array[i] + "\", \"" + an_array2[i] + ",\n");

一切都很好,除了一个非常小的东西。在左侧有一个我的an_array2值。我如何摆脱这个?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码

buffWriter.write("\"" + time[i] + "\",\"" + an_array[i] + "\", " + an_array2[i] + ",\n");

答案 1 :(得分:0)

我建议您仔细查看代码,了解它正在做什么,而不仅仅是给您答案。让我们将长字符串连接分成多行:

buffWriter.write("\""             // "
                 + time[i]        // (the time)
                 + "\",\""        // ","
                 + an_array[i]    // (array element)
                 + "\", \""       // ", "
                 + an_array2[i]   // (array element)
                 + ",\n");        // ,(line-break)

所以是的,在你的an_array2值之前有一个“因为你把它放在我写的那个位:

                 + "\", \""       // ", "

如果只是想关闭之前的报价并添加逗号,您需要:

                 + "\","

(您可能也可能不想要这个空间。)

请注意:

  • 这与BufferedWriter无关 - 您只是执行字符串连接
  • 这与Android无关;它只是Java

学习如何自己诊断问题,以及了解自己代码的每一点都很重要。你明白为什么 "\", \""的意思是“(双引号)(逗号)(空格)(双引号)”?如果没有,我们可以更详细地解释(或者您可以阅读section 3.10.6 of the Java Language Specification)。