new File(path) always actually creates a file on android?

JanBo picture JanBo · Apr 11, 2013 · Viewed 32.9k times · Source

I am trying to check if a file exits on android sd card...so i do:

File f=new File(sdpath + "/" + DATABASE_NAME); //   
if(!f.exits()) {
...create new file..
}
else {
...do something...
}

Every time this actually creates the directory or file on the sd card.

I know it doesnt exist, and when the new File is executed it is created and it shouldnt ?

I read all across google that new File doesnt create an actual file on the file system , but in my case it does...

Any alternatives to checking if a File/directory exits without using new File..

Edit 1: Well I'd just like to add (after 4 years :)) that this problem occurred only on two devices at the time i was writing the post and never again, one of them was HTC Desire C with android 4.0 and the other was some Huawei with android 2.x, cant remember anymore.

Answer

JanBo picture JanBo · Apr 11, 2013

For some strange reason it turned out that new File created a directory every time...

instead of checking if (!f.exists()), I changed it to checking if (!f.isFile())

In that case i create a new file and it works good, the next time i run it the file is already on the sd card...