错误:文件不存在

时间:2013-07-05 10:41:06

标签: file-io java-me

现在我正在开发一个项目,我需要在sdcard中创建一个能够做到的文件夹。另外我需要根据需要隐藏/取消隐藏它。代码在模拟器上工作正常但在设备中没有这是我的代码出了什么问题?

    public class FolderCreate extends MIDlet {
    private Form form;
    private Display display;
    FileConnection fc;
    String path;

        public void startApp() {        

        form = new Form("Hello World");
        String msg = "Hello World!!!!!!!";
        form.append(msg);
        display = Display.getDisplay(this);
        display.setCurrent(form);
     System.out.println("WWWW");          
        try {
            path = System.getProperty("fileconn.dir.memorycard");
            System.out.println("Path : "+path+"/sample");
                fc = (FileConnection)Connector.open(path+"/ABCD/");
                if(!fc.exists())
                {
                   fc.mkdir();
                   System.out.println("directory created");                   
                }               

        } catch (IOException e) {
                // TODO Auto-generated catch block
                //System.out.println("ERROR "+e.getMessage());
            Alert alert = new Alert("Alert");
            alert.setString(e.getMessage());
            display.setCurrent(alert);
        }
        try 
        {
            //fc = (FileConnection)Connector.open(path+"/sample/");
            if(fc.isHidden())
                {
                    fc.setHidden(false);
                }
            else{
                    fc.setHidden(true);
            }
         fc.close();
        } 
        catch (Exception e) 
        {
             Alert alert = new Alert("Alert2");
            alert.setString(e.toString());
            display.setCurrent(alert);
        }




    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
        System.out.println("Destroyed");
        notifyDestroyed();
    }
}

我得到的错误是:java.io.IOException:文件不存在

2 个答案:

答案 0 :(得分:0)

检查path是否以"file://"开头。如果没有,请添加后缀。

path = System.getProperty("fileconn.dir.memorycard");
if (path != null && !path.startsWith("file://")) {
    path = "file://" + path;
}

答案 1 :(得分:-1)

我认为你在跟随线路时犯了错误,

path = System.getProperty("fileconn.dir.memorycard");

当您使用手机和SD卡时,您应该使用e:驱动器参考SD卡,如下所示,

path = file:///e:/<folder-name>/