Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1058
  • Last Modified:

openDataOutputStream() File system error (12)

the code on line "outstream = fileconn.openDataOutputStream();" (full code attached below) throws an exception with message "File system error (12)" ?

the funny thing is that the exception is not thrown the first time the WriteXml(); is called i.e. on first call during every lifetime of the application, the file writing completes successfully, but all subsequent calls after the first one fail and throw this file system error??? our application works by first reading an xml file, and then writing one (WriteXml()) if the user presses Save (which works first time), but if the user presses Save again, the writing does not work any more.

when i close the application and start it again, the first save works fine again, but not the following ones? any ideas how to solve this issue?


cheers.

import javax.microedition.io.Connector;
import javax.microedition.io.file.FileConnection;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import net.rim.device.api.ui.component.Dialog;
import org.kxml2.io.KXmlParser;
import org.kxml2.io.KXmlSerializer;
import org.kxml2.kdom.Document;
import org.kxml2.kdom.Element;
import org.kxml2.kdom.Node;

public class Filer {

	
private String filepath = "file:///SDCard/Blackberry/TelliT.xml";
	private String ip = "192.168.1.1";
	private String port = "80";

public void WriteXml() {

try {
			FileConnection fileconn = (FileConnection) Connector.open(filepath,
					Connector.READ_WRITE);
			if (!fileconn.exists()) {
				fileconn.create();
			}

			Document doc = new Document();
			Element root = doc.createElement("", "TelliT");
			Element server = doc.createElement("", "server");

			Element ipelem = doc.createElement("", "ip");
			ipelem.addChild(Node.TEXT, ip);

			Element portelem = doc.createElement("", "port");
			portelem.addChild(Node.TEXT, port);

			server.addChild(Node.ELEMENT, ipelem);
			server.addChild(Node.ELEMENT, portelem);

			root.addChild(Node.ELEMENT, server);
			doc.addChild(Node.ELEMENT, root);

			DataOutputStream outstream;

			outstream = fileconn.openDataOutputStream();
			KXmlSerializer serializer = new KXmlSerializer();
			serializer.setOutput(outstream, "UTF-8");
			doc.write(serializer);
			fileconn.close();

		} catch (Exception e) {
			Dialog.alert("Data could not be saved: " + e.getMessage());
		}

}

}

Open in new window

0
KristjanLaane
Asked:
KristjanLaane
1 Solution

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now