如何在编写新文件之前检查文件是否已创建?

时间:2017-06-01 14:27:08

标签: java android

我正在使用android studio来查看如何创建文件,或者如果文件已存在则使用现​​有文件。到目前为止我的代码是:

              public void saveFile(){

            try{

            FileOutputStream fOut = openFileOutput("current.xml", 
            Context.MODE_APPEND);
            //OutputStreamWriter outputWriter = new 
             OutputStreamWriter(fOut);

            XmlSerializer serializer = Xml.newSerializer();
            serializer.setOutput(fOut, "UTF-8");
            serializer.startDocument(null, Boolean.valueOf(true));

            serializer.startTag(null, "records");
            serializer.startTag(null,"employee");
            serializer.startTag(null, "name");
            serializer.text("Ryan");
            serializer.endTag(null,"name");
            serializer.startTag(null,"surname");
            serializer.text("Derk");
            serializer.endTag(null,"surname");
            serializer.startTag(null,"salary");
            serializer.text("60000");
            serializer.endTag(null,"salary");
            serializer.endTag(null,"employee");
            serializer.endTag(null,"records");

            serializer.endDocument();
            serializer.flush();
            fOut.close();

            Toast.makeText(getApplicationContext(), "Save Successful", 
            Toast.LENGTH_LONG).show();

            }
            catch(Throwable t){

            Toast.makeText(getApplicationContext(), "Save Unsuccessful", 
            Toast.LENGTH_LONG).show();

        }


        }

         private static String getValue(String tag, Element element) {
         NodeList nodeList = 
         element.getElementsByTagName(tag).item(0).getChildNodes();
         Node node = nodeList.item(0);
         return node.getNodeValue();
        }

如何在保存到该文件之前检查文件是否已创建?如果没有创建创建文件?

4 个答案:

答案 0 :(得分:0)

只需使用yourFile.exists();

答案 1 :(得分:0)

您需要指向该文件并检查它是否存在。

 File file = new File("C:\\file.txt");

    if(!file.exists()){
        System.out.println("file does not exist");
        //Do all your stuff here
    }

答案 2 :(得分:0)

如果我正确理解您的问题:

  • 您需要让应用程序上下文android.content.Context调用方法openFileOutput

  • 此外,要检查文件是否存在,您可以调用Context.fileList()获取上下文中的文件列表,并检查您的文件是否存在。

    String[] files = fileList();
    for (String file : files) {
        if (file.equals(myFileName)) {
            //file exits
        }
    

答案 3 :(得分:0)

对于我的情况,我所做的是添加了这个方法:

       public Boolean checkFile(){

    Boolean myBool2 = false;
    File file  = getBaseContext().getFileStreamPath("current.xml");

    if(file.exists()){

        Toast.makeText(getApplicationContext(), "FileFound", 
    Toast.LENGTH_LONG).show();

    }

    else{

        Toast.makeText(getApplicationContext(), "No file found", 
    Toast.LENGTH_LONG).show();
        myBool2 = true;
    }
        return myBool2;

}

事实证明它有效!我只需要获取上下文然后找到文件扩展,然后找到该文件。感谢所有发布此问题的人,这真的帮助我理解了我真正想做的事情!