I have a java assignment, and my last two errors are laid out in this code. For a little background, my code is taking input from a GUI and writing it into a text file. I realize you may need more code, and I will give more if needed, I just can't seem to understand these errors. Here is my code:
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)
{
}
}
Any help is greatly appreciated. Thank you so much!
From the original question it looks as though you are trying to write out to a file. OK, something like this should work:
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();
}
The issue you were having with your above code was that the for
loop syntax in Java is very different than how you originally stated.
Instead of for (String string = null, data)
An iterative for
loop needs to look like this:
for (int i = 0; i < someDataStructure.size(); i++)
someDataStructure.get(i);
You could also do a for each
loop if the Data Structure implements Iterable.
However, all this aside, you were attempting to iterate using a FileOutputStream when you had no List or Array over which to iterate, had you passed in another reference to a file or a list, the iteration should have looked something like this:
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();
}