crash on File.read()
When I try doing:
var dir = Titanium.Filesystem.getApplicationDataDirectory();
var file = Titanium.Filesystem.getFile(settingsdir, 'settings.txt');
var settings = file.read();
Ignoring the .exists() error checking, if the file does exist but is 0 bytes, Titanium crashes on the .read() call. As soon as I make it 1 byte big it works fine.
1 Answer
-
Same here with 1.1.0. Before to even create the Filestream to read it, we do better by checking the file size first.
Here is the code I use, hope it helps:
var fl = Ti.Filesystem.getFile('file.txt'), fs = false, ret = false; if (fl.size() && (fs = fl.open(Ti.Filesystem.MODE_READ))) { ret = fs.read(); if (ret && ret.length) ret = ret.toString(); fs.close(); } return ret;