J2ME gives you all the power of what was in a 1997 PC to put apps on billions of phones: with none of the debugging tools.
1. Nokia Series 40 will now allow you to create a filename that begins with "." - do that and you will get an exception .
2. Even in the emulator: if you want to overwrite the entire file when getting an output stream to an existing file: the only way I have seen consistent results is to delete the file first. Incredibly even openOutputStream(0) - to explicitly open the outputstream at the start seemed to overwrite some but not all of the file (e.g. if you want to overwrite with a smaller file than it was originally there will be trailing leftovers from the previous file). Something like this works:
1. Nokia Series 40 will now allow you to create a filename that begins with "." - do that and you will get an exception .
2. Even in the emulator: if you want to overwrite the entire file when getting an output stream to an existing file: the only way I have seen consistent results is to delete the file first. Incredibly even openOutputStream(0) - to explicitly open the outputstream at the start seemed to overwrite some but not all of the file (e.g. if you want to overwrite with a smaller file than it was originally there will be trailing leftovers from the previous file). Something like this works:
public OutputStream openFileOutputStream(String fileURI, boolean autocreate) throws IOException{
FileConnection con = null;
IOException e = null;
try {
con = (FileConnection)Connector.open(fileURI, Connector.READ_WRITE);
if(con.exists()) {
con.delete();
}
con.create();
}catch(IOException e2) {
e = e2;
}finally {
J2MEIOUtils.closeConnection(con);
if(e != null) throw e;
}
OutputStream out = Connector.openOutputStream(fileURI);
return out;
}