Question

I am trying to read a locally stored text file in windows xp using xul program below:

function read_text_file(file_path)
{
  var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); 
  file.initWithPath(file_path); 
  var data = "";   
  var fstream = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);   
  var cstream = Components.classes["@mozilla.org/intl/converter-input-stream;1"].createInstance(Components.interfaces.nsIConverterInputStream);   
  fstream.init(file, -1, 0, 0);
  cstream.init(fstream, "UTF-8", 0, 0); // you can use another encoding here if you wish   

  let (str = {}) {   
  let read = 0;   
  do {
      read = cstream.readString(0xffffffff, str); // read as much as we can and put it in str.value   
      data += str.value;   
     } 
  while (read != 0);
  }
  cstream.close(); // this closes fstream
  return data;
}

But getting Error in read = cstream.readString(0xffffffff, str);:

Error: NS_ERROR_ILLEGAL_INPUT: Component returned failure code: 0x8050000e (NS_ERROR_ILLEGAL_INPUT) [nsIConverterInputStream.readString]
Source File: chrome://quicknote/content/overlay.js
Line: 168

here I found some description here, but it didn't help. enter image description here

Was it helpful?

Solution

The most likely reason for this is that the data in that file is not in fact encoded in UTF-8, so trying to decode as UTF-8 ends up throwing.

OTHER TIPS

here is the answer: Reading textual data

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top