前两天老师找我让我做个手机程序,给我拿了本书让我看,以前也没有接触过J2ME和Java我看了看感觉也没有什么,只是有些语法不同罢了。看了看书 对基本的语法有了一定的了解开始编程,想创建一个文本文件,然后往文件里写一些文本。
打开NetBeans5.0中文版,创建一个MIDlet文件名称是FileSave,其中保存文件的核心部分是先获取系统的目录用下面的代码
下面是文件保存的代码
打开NetBeans5.0中文版,创建一个MIDlet文件名称是FileSave,其中保存文件的核心部分是先获取系统的目录用下面的代码
1Enumeration e = FileSystemRegistry.listRoots();
2while (e.hasMoreElements())
3{
4 String elem = e.nextElement().toString();
5}
其中elem是获取的系统的目录可能会存在多个,这里需要注意2while (e.hasMoreElements())
3{
4 String elem = e.nextElement().toString();
5}
下面是文件保存的代码
String root = elem;//获取一个系统目录
FileConnection fc = null;
try
{
fc = (FileConnection) Connector.open("file://localhost/" + root+"/a.txt");//创建对文件的连接
if(!fc.exists())//判断文件是否存在
fc.create();//创建文件
OutputStream os = fc.openOutputStream();//根据连接创建流对象
String aa = "这个文件是有J2ME创建的";//文件的内容
byte[] res = aa.getBytes();//将内容转换为数组
os.write(res, 0, res.length);//保存内容
os.close();//关闭连接
} catch (IOException ex)
{
ex.printStackTrace();
}
以上代码就可以完成最基本的文件保存操作,但是我们还需要创建一个线程,让文件的保存操作通过一个线程去完成这样可以有很好的响应效果。我们可以在点击了保存按钮之后执行一个函数,这个函数是利用一个线程去完成文件的保存操作FileConnection fc = null;
try
{
fc = (FileConnection) Connector.open("file://localhost/" + root+"/a.txt");//创建对文件的连接
if(!fc.exists())//判断文件是否存在
fc.create();//创建文件
OutputStream os = fc.openOutputStream();//根据连接创建流对象
String aa = "这个文件是有J2ME创建的";//文件的内容
byte[] res = aa.getBytes();//将内容转换为数组
os.write(res, 0, res.length);//保存内容
os.close();//关闭连接
} catch (IOException ex)
{
ex.printStackTrace();
}
private void threadCreate()
{
new Thread(new Runnable()
{
public void run()
{
creatFile();
}
}).start();
}
{
new Thread(new Runnable()
{
public void run()
{
creatFile();
}
}).start();
}