Solved

openDataOutputStream() File system error (12)

Posted on 2010-09-23
1
1,040 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

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
count8 challlenge 13 87
groupSum6 challenge 6 45
What is the latest versions eclipse neon 2 122
Java JRE greater than 1.6 5 23
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.

760 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now