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();
}
我有一个 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();
}