//
// fileio.js - General purpose I/O package for JavaScript
//
// TextFileReadAll
// TextFileCreate
// FileDelete
// DirList
// DirCreate
// DirDelete
//


//
// TextFileReadAll - Read in the contents of a text file
//

function TextFileReadAll(filename)

{

 var file, stream, line, data, i;

 file = java.io.File(filename);
 if(!file.exists())
  return null;
 if(!file.isFile())
  return null;
 if(!file.canRead())
  return null;
 stream = java.io.BufferedReader(java.io.FileReader(file));
 data = new Array(500);
 for(i = 1; ;++i)
 {
  line = stream.readLine();
  if(line == null)
   break;
  if(i > data.length)
  {
   data.length = i + 500;
  } data[i - 1] = line + "";
 }
 data.length = i;
 stream.close();
 return data;

}


//
// TextFileCreate - Create a text file
//

function TextFileCreate(filename, contents)

{

 var file, stream, i;

 file = java.io.File(filename);
 stream = java.io.BufferedWriter(java.io.FileWriter(file));
 if(contents == null)
 {
  ;
 }
 else
 {
  for(i = 0; i < contents.length; ++i)
  {
   stream.write(contents[i]);
   stream.write("\r\n");
  }
 }
 stream.close();
 return true;

}


//
// FileDelete - Delete a file
//

function FileDelete(filename)

{

 var file;

 file = java.io.File(filename);
 return file["delete"]();

}


//
// DirList - Produce a directory listing
//

function DirList(dirname)

{

 var file, list, text, i, n;

 file = java.io.File(dirname);
 if(!file.exists())
  return null;
 if(!file.isDirectory())
  return null;
 return JASToJSAS(file.list());

}


//
// DirCreate - Create a directory
//

function DirCreate(dirname)

{

 var file;

 file = java.io.File(dirname);
 return file.mkdir();

}


//
// DirDelete - Delete a directory
//

function DirDelete(filename)

{

 var file;

 file = java.io.File(filename);
 if(!file.isDirectory())
  return false;
 return file["delete"]();

}


//
// JASToJSAS - Convert a Java array of string to a JavaScript array of strings
//

function JASToJSAS(JArray)

{

 var i, n, JSArray;

 n = JArray.length;
 JSArray = new Array(n);
 for(i = 0; i < n; ++i)
 {
  JSArray[i] = JArray[i] + "";
 }

 return JSArray;

}

