How to write data to a file in Java ME
trashedDev
(Talk | contribs) (TrashedDev -) |
hamishwillee
(Talk | contribs) m (Hamishwillee - Adding missing translation link) |
||
| Line 82: | Line 82: | ||
* [[How to list files and folders in Java ME]] | * [[How to list files and folders in Java ME]] | ||
* [[How to read an image from Gallery in Java ME]] | * [[How to read an image from Gallery in Java ME]] | ||
| + | <!-- Translation --> [[pt:Como gravar dados em um arquivo em Java ME]] | ||
Revision as of 08:28, 18 September 2012
This article shows, how to write data to a file by using FileConnection API (JSR-75). This example MIDlet has a TextBox, where text can be entered. Then the text can be saved to readme.txt file, which is in this case created under Gallery's Images folder.
Article Metadata
Code Example
Source file: WriteDataExample sources
Installation file: WriteDataExample binaries
Tested with
Devices(s): Nokia C3-01, Nokia Asha 306, Nokia E7-00
Compatibility
Platform(s): Series 40, S60, Nokia Belle
Article
Keywords: textBox,Commndbutton,String,FileConnection
Created: jarmlaht
(28 Jan 2009)
Last edited: hamishwillee
(18 Sep 2012)
Source code: WriteMIDlet.java
The full source code for a test MIDlet:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.file.*;
import javax.microedition.io.*;
import java.io.*;
public class WriteMIDlet extends MIDlet implements CommandListener {
private TextBox textbox;
private String photos = "fileconn.dir.photos";
private Command saveCommand;
private Command exitCommand;
private String path;
public void startApp() {
textbox = new TextBox("WriteMIDlet", "", 1000, TextField.ANY);
saveCommand = new Command("Save", Command.SCREEN, 1);
exitCommand = new Command("Exit", Command.EXIT, 1);
textbox.addCommand(saveCommand);
textbox.addCommand(exitCommand);
textbox.setCommandListener(this);
Display.getDisplay(this).setCurrent(textbox);
path = System.getProperty(photos);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
private void saveFile(String path, String name) {
try {
String url = path + name;
String string = textbox.getString();
byte data[] = string.getBytes();
FileConnection fconn = (FileConnection)Connector.open(url, Connector.READ_WRITE);
if (!fconn.exists()) {
fconn.create();
}
OutputStream ops = fconn.openOutputStream();
ops.write(data);
ops.close();
fconn.close();
}
catch (IOException ioe) {
System.out.println("IOException: "+ioe.getMessage());
}
catch (SecurityException se) {
System.out.println("Security exception:" + se.getMessage());
}
}
public void commandAction(Command c, Displayable d) {
if (c == saveCommand) saveFile(path, "readme.txt");
if (c == exitCommand) this.notifyDestroyed();
}
}

