Java 写入文本文件时很少出错?

Java few errors while writing to text file?

我有一个 java 作业,我的最后两个错误都列在这段代码中。对于一些背景知识,我的代码是从 GUI 获取输入并将其写入文本文件。我意识到您可能需要更多代码,如果需要我会提供更多代码,但我似乎无法理解这些错误。这是我的代码:

public void dataWriter(String data, String fileName) throws IOException 
{
File file = getFileStreamPath(fileName);

if (!file.exists()) 
{
   file.createNewFile();
}

    try (FileOutputStream writer = openFileOutput(file.getName(), Context.MODE_PRIVATE)) // Error "cannot find symbol, variable MODE_PRIVATE"
    {
        for (String string = null, data)//error "variable data is already defined in dataWriter"
        {
            {
            writer.write(string.getBytes());
            writer.flush();
            }   
        }
    }
    catch (Exception e)
    {

    }

}

非常感谢任何帮助。非常感谢!

从最初的问题来看,您似乎正在尝试写入文件。好的,这样的事情应该有效:

public void dataWriter(String data, String fileName) throws IOException {

PrintWriter writer = new PrintWriter(new FileOutputStream(new File(fileName));

try {
  writer.write(data);
} catch (Exception e) {
  System.err.println("Some exception");
} finally {
   writer.close();
}

您在上述代码中遇到的问题是 Java 中的 for 循环语法与您最初陈述的方式有很大不同。

而不是for (String string = null, data)

迭代 for 循环需要如下所示:

for (int i = 0; i < someDataStructure.size(); i++)
    someDataStructure.get(i);

如果数据结构实现 Iterable,您还可以执行 for each 循环。

然而,除此之外,当您没有要迭代的列表或数组时,您试图使用 FileOutputStream 进行迭代,如果您传入了对文件或列表的另一个引用,迭代应该看起来像像这样:

public void dataWriter(List data, String fileName) throws IOException {

PrintWriter writer = new PrintWriter(new FileOutputStream(new File(fileName));

try {

  for (int i = 0; i < data.size(); i++) 
      writer.write(data);

} catch (Exception e) {
  System.err.println("Some exception");
} finally {
   writer.close();
}