 <p><strong>Why I can't find the file on my device?</strong></p> <p>The file is created successfully but I can't find that on my device because the <code>dataDirectory</code> path which I indicates to create the file, is a private path and my device file manager doesn't have access to it (base on <a href="https://www.npmjs.com/package/cordova-plugin-file#android-file-system-layout">this table</a>). Actually <code>dataDirectory</code> is an <code>Internal Storage</code> option.</p> <blockquote> <p>Internal Storage: Store private data on the device memory.</p> <p>You can save files directly on the device's internal storage. By default, files saved to the internal storage are private to your application and other applications cannot access them (nor can the user). When the user uninstalls your application, these files are removed.(<a href="http://developer.android.com/guide/topics/data/data-storage.html#filesInternal">reference</a>)</p> </blockquote> <p><strong>How to create a public file?</strong> </p> <p>So, to create a file on my device that I can access it with the file manager, I have to use one of public path options like:<code>externalDataDirectory</code>. Before, I was thinking it is for storing files on an external SD Card that I had not on my phone, so I didn't test it. But testing it today, it creates the file on my internal device storage in <code>Android/data/&lt;app-id&gt;/files</code> path which is public and I can access it with device file manager.</p> <p>Actually the term <code>internal</code> and <code>external</code> was misleading for me while <code>external storage</code> can be a removable storage media (such as an SD card) or an internal (non-removable) storage(<a href="http://developer.android.com/guide/topics/data/data-storage.html#filesInternal">reference</a>).</p>