Solved

openDataOutputStream() File system error (12)

Posted on 2010-09-23
1
1,045 Views
Last Modified: 2013-12-15
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
Comment
Question by:KristjanLaane
1 Comment
 

Accepted Solution

by:
KristjanLaane earned 0 total points
ID: 33764844
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Java - Why doesn't this JFrame work 3 58
eclipse shortcuts 9 54
why cannot we forward request once the response is committed 2 42
eclipse buid path vs tomcat lib path 10 22
This article will help those of you having problems with the Nextel Blackberry 8350i.  Recent Software updates cause the problems issues described below, and this article will help you revert back to the older software. As we know, Nextel has alw…
Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
The viewer will learn how to implement Singleton Design Pattern in Java.

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question