问题描述
我在做一个手机程序,想把输入的数据保存到一个TXT文件中,但是先要创建一个TXT文件,请问怎么做?我在网上找到一些代码,但是创建不了,望大家指教一下,先谢了!!Stringelem=null;Enumerationex=FileSystemRegistry.listRoots();while(ex.hasMoreElements()){elem=ex.nextElement().toString();}Stringroot=elem;try{FileConnectionfc=(FileConnection)Connector.open("file://D:/"+root+"/a.txt",Connector.READ_WRITE);if(fc.exists()){//文件存在intsize=(int)fc.fileSize();//获得文件大小OutputStreamos=fc.openOutputStream(size);//从文件的末尾开始写//os.write("chbc");//写入数据,其中data是byte[]os.close();//关闭流}else{//文件不存在fc.create();//创建文件OutputStreamos=fc.openOutputStream();//打开文件流//os.write(dat);//写入数据,其中data是byte[]os.close();//关闭流}}catch(IOExceptione){e.printStackTrace();}
解决方案
解决方案二:
路过拿点分!
解决方案三:
我的天语手机系统的。importjava.io.*;importjavax.microedition.io.*;importjavax.microedition.lcdui.*;importjavax.microedition.io.file.*;importjavax.microedition.midlet.*;publicclassWriteTxtextendsMIDletimplementsCommandListener{staticWriteTxtinstance;privateFormmainForm=newForm("程序运行进度");privateCommandexitCommand=newCommand("离开",7,1);privateDisplaydisplay;publicWriteTxt(){instance=this;mainForm.addCommand(exitCommand);mainForm.setCommandListener(this);}publicvoidstartApp(){if(display==null)//如果是第一次运行就加载数据并显示闪屏{display=Display.getDisplay(this);display.setCurrent(mainForm);mainForm.append("startApp()已执行完毕");a();}}publicvoidpauseApp(){mainForm.append("pauseApp()");}publicvoiddestroyApp(booleanparamBoolean){}publicstaticvoidquitApp(){instance.destroyApp(true);instance.notifyDestroyed();instance=null;}publicvoida(){bytedata[]=TxtBytes("文件已成功保存。");Stringpath="file:///MemoryCard:/WriteTxt.txt";mainForm.append("开始opentxt");FileConnectionfc=null;try{fc=(FileConnection)Connector.open(path,Connector.READ_WRITE);mainForm.append("open成功");if(!fc.exists()){fc.create();mainForm.append("文件不存在,开始创建txt");}OutputStreamos=fc.openOutputStream();mainForm.append("开始写");os.write(data);mainForm.append("已写完");os.flush();mainForm.append("开始关闭");os.close();fc.close();mainForm.append("文件已成功保存。");}catch(Exceptione){mainForm.append("写文件失败");}}publicbyte[]TxtBytes(Stringstr){try{returnstr.getBytes("UTF-8");}catch(Exceptione){mainForm.append("str转byte出错");returnnull;}}publicvoidcommandAction(Commandc,Displayabled){if(c==exitCommand)//离开{Alertalert=newAlert("确认退出","真的要退出吗?",null,AlertType.CONFIRMATION);alert.addCommand(newCommand("Yes",Command.OK,1));alert.addCommand(newCommand("No",Command.CANCEL,1));alert.setCommandListener(newCommandListener(){publicvoidcommandAction(Commandc,Displayabled){if(c.getLabel().equals("Yes")){instance.exit();}//退出程序if(c.getLabel().equals("No")){display.setCurrent(mainForm);}//显示列表}});Display.getDisplay(this).setCurrent(alert);}}publicstaticvoidexit()//退出{try{instance.destroyApp(false);instance.notifyDestroyed();}catch(Exceptione){}}}
解决方案四:
能不能提供一下不能运行所提示的异常?这个贴个代码出来比较笼统LS的代码不错呵呵
解决方案五:
要看报什么异常了,("file://D:/"+root+"/a.txt")改成("file:///D:/"+root+"/a.txt")
解决方案六:
明天来看看。。。晚了。。记号。。
解决方案七:
不要贴代码,看上去太乱,具体出的什么错啊,请lz把错误异常贴出来,方便大家给你解决