nativescript: Property 'write' does not exist on type 'NSOutputStream'. ts(2339)

31 views Asked by At

I'm missing something. I need to write a text file for ios using NSOutputStream. I create the file

 import { knownFolders, Folder, File } from "tns-core-modules/file-system";
 const folder: Folder=<Folder>knownFolders.documents();
 let outFOS: NSOutputStream;
 let pathName: File;
 let isFileOpen: boolean;

 export class  TxtFileIo{
  constructor(fileName:string) {
    isFileOpen = false;
    try{
        pathName=<File>folder.getFile(`${fileName}.txt`);       
        console.log(`TxtFile iOS new file ${pathName.path}`);
        outFOS=<NSOutputStream> NSOutputStream.outputStreamToFileAtPathAppend(pathName.path, true)
        outFOS.open();
        }catch(IOex) {
        console.log("TxtFile ios new TxtFile error: " +IOex);
    }
    isFileOpen=true;
}

and close the file with

    close() {
     try {
        outFOS.close();
        isFileOpen=false;
        console.log("TxtFile iOS close file:" +pathName.name);
     }
     catch (IOex) {
        console.log("TxtFile iOS close error: " +IOex);
     }
   }

The file is created and is visible, however, how do I write to it. I get the above error with

 write(saveData:string) {
        try {
            console.log("TxtFile iOS write data: " +saveData);
            outFOS.write(saveData,saveData.length);
        }
        catch (IOex) {
            console.log("TxtFile iOS write error: " +IOex);
        }
    }

What am I missing? I thought 'write' was a method of NSStream.outputStream Thanks

0

There are 0 answers