Phonegap - Creating a .txt file on first load

Raj picture Raj · Feb 27, 2012 · Viewed 13.6k times · Source

I am creating a phonegap app and need to create a new .txt file on first load. After this I need to check whether the file exists and then ignore the creation if that is the case, below is the general flow that I am after:

1 - onDeviceReady - loading phoengap app 2 - Check is readme.txt exist (if yes load home page) 3 - Create a file readme.txt and add to www folder 4 - Continue loading homepage

EDIT - Rather than the valid answer mentioned below I decided to use HTML5s local storage as this was simply 1 line of code.

localStorage.setItem("name", "Email Supplied!");

and can be checked using this simple if statement

 if (localStorage.getItem("name") == "Email Supplied!")
        {
            // What you want to happen here
        }

Answer

Titouan de Bailleul picture Titouan de Bailleul · Feb 27, 2012

You can take a look at the full example here:

http://docs.phonegap.com/en/1.4.1/phonegap_file_file.md.html#FileWriter

This line create the file if it doesn't exist :

fileSystem.root.getFile("readme.txt", {create: true, exclusive: false}, gotFileEntry, fail);

Supported Platforms

Android BlackBerry WebWorks (OS 5.0 and higher) iOS Windows Phone 7 ( Mango )

I don't know about there others but in iOS, the document is created in /var/mobile/Application/YOU_APP/Documents

[CODE]

        <script type="text/javascript" charset="utf-8">

            // Wait for PhoneGap to load
            //
            document.addEventListener("deviceready", onDeviceReady, false);

            // PhoneGap is ready
            //
            function onDeviceReady() {
                window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
            }

            function gotFS(fileSystem) {
                fileSystem.root.getFile("readme.txt", {create: true}, gotFileEntry, fail);
            }

            function gotFileEntry(fileEntry) {
                fileEntry.createWriter(gotFileWriter, fail);
            }

            function gotFileWriter(writer) {
                writer.onwrite = function(evt) {
                    console.log("write success");
                };

                writer.write("some sample text");
                writer.abort();
                // contents of file now 'some different text'
            }

            function fail(error) {
                console.log("error : "+error.code);
            }

        </script>

Hope it helps