[Freeswitch-users] Javascript FileIO

Raymond xxxman2008 at 126.com
Sun Jun 25 18:28:59 UTC 2017

OK, firstly ,where's the new documentation of new V8 js module ?

Secondly, I think,  loop read small piece of  file will cause  too much I/O request . SO , i usually do read in following way. 
open the file ----> get file size --> read the whole file ( OS will charge the "one time " read size).

and in real-life , real-project , there's not so many big files.  So, just  open the file ,and  read all.    in 99.99% situation , it's safe.

in some situation , you cann't open the "incomplete file"  , you even cann't "see" them. There's too much detail when we talk about file read ,we can discuss file-system in rest of our life.
 For Faruq , i think  just read whole file is  ok .  if you warry about "incomplete file" ,just wait 1 second ,and  read the file size again. it's  may casuse delay ,but useful if you have lots of files to read .

In my opinion, when linux  do file read ,it read 1 block one time . A block is a sequence of bit or Bytes with a fixed length ie 512 bytes, 4kB, 8kB, 16kB, 32kB etc.  So , please not use strange number as your read size. it's not a good idea.  And  ......I really hate "while (.....)"  code ,it's really really bad.


At 2017-06-24 04:00:36, "Anthony Minessale" <anthony.minessale at gmail.com> wrote:

That wiki documentation is from the old spidermonkey js module not the new v8 one.

I believe that putting a very large number will not cause any problems as the data read cannot exceed the total bytes in the file so it should not be a problem.
You can always do an append loop.  Its usually a good practice to have a precise max size to read because what if the file was accidentally 2gb.

On Fri, Jun 23, 2017 at 3:36 AM, Raymond <xxxman2008 at 126.com> wrote:

Hi ,

   This will help you  . https://wiki.freeswitch.org/wiki/File

At 2017-06-22 21:49:33, "Faruq Ahmad" <afarooqa at gmail.com> wrote:


I have a FS dialplan that fetches callflow from a JSON file. File is read using 

var JsonFd = new FileIO(JsonPath, 'r');

result = JsonFd.data();
var menu = JSON.parse(result),

Is there anyway I can read the whole file in one attempt, i.e. when a smaller size was given to the .read() function it wouldn't read the complete file. I have increased the value of size for read function however my concern is in the long run file size might increase and parse would get an incomplete JSON. 

Is there anyway I can get filesize from FileIO object or detect EOF from the read buffer to make sure the whole file is loaded?
Also if I increase the size for read fucntion buffer way over the estimated filesizes, is there any guarantee that no garbage values will be read from the disk after the EOF?


Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org

Official FreeSWITCH Sites

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org


Anthony Minessale II       ♬ @anthmfs  ♬ @FreeSWITCH  ♬

☞ http://freeswitch.org/http://cluecon.com/http://twitter.com/FreeSWITCH
☞ irc.freenode.net #freeswitch ☞ http://freeswitch.org/g+

ClueCon Weekly Development Call 

☎ sip:888 at conference.freeswitch.org  ☎ +19193869900 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20170626/64e6c03f/attachment.html>

More information about the FreeSWITCH-users mailing list