我正在使用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();
}
如何在保存到该文件之前检查文件是否已创建?如果没有创建创建文件?
答案 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;
}
事实证明它有效!我只需要获取上下文然后找到文件扩展,然后找到该文件。感谢所有发布此问题的人,这真的帮助我理解了我真正想做的事情!