文件模块File

关于appcan文件操作的基础功能的封装

appcan.file.wgtPath //当前widget的根目录

例如:

如果你安装一个demo,到存储卡上则   
/storage   
    /widgetone   
        /apps 所有的应用位置  
            /demo 这里就是demo widget的根目录   
                /video  
                /myspace  
                /audio  
                /photo

    /widgets
appcan.file.resPath //当前widget/wgtRes目录

当前widget/wgtRes目录(支持IOS,Android),用户可以自行预置此目录下文件

appcan.file.wgtRootPath //用于部署在服务器端的Appcan应用,必要时打开本地沙箱中widget根目录下的本地网页使用

例如:当前窗口加载的是服务器上的http://www.xxx.com/xxx.html网页, 如果在xxx.html页面中open一个窗口时,传入的inData为'wgtroot://index.html', 那么本次open执行时,引擎将会到本应用对应的widget路径下去寻找此页面,例如android上找到的路径会是:file:///android_assert/widget/index.html或者/sdcard/widgetone/widgets/widgetXXX/index.html。

appcan.file.open(filePath,mode,callback) //打开文件流
  filePath:要打开文件的路径
  mode:打开文件的方式
    1 只读方式打开
    2 可写方式打开
    4 新建方式打开
    8:电子书方式打开

  callback(err,data,dataType,optId):打开文件结果回调函数,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    mode:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//打开一个文本文件
appcan.file.open('wgt://a.txt',1,function(err,data,dataType,optId){
    if(err){
        //出错了
        alert(err);
        return;
    }
    if(data == 0){
        //打开成功了
    }else{
        //打开失败
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.open('wgt://a.txt',1,function(err,data,dataType,optId){
    if(err){
        //出错了
        alert(err);
        return;
    }
    if(data == 0){
        //打开成功了
    }else{
        //打开失败
    }
});
appcan.file.openSecure(filePath,mode,key,callback) //打开加密的文件流
  filePath:要打开文件的路径
  mode:打开文件的方式
    1 只读方式打开
    2 可写方式打开
    4 新建方式打开
    8:电子书方式打开
    key:加密的密钥
  callback(err,data,dataType,optId):打开文件结果回调函数,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    mode:'',
    key:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//打开一个加密的文本文件
appcan.file.openSecure('wgt://a.txt',1,'password',function(err,data,dataType,optId){
    if(err){
        //出错了
        alert(err);
        return;
    }
    if(data == 0){
        //打开成功了
    }else{
        //打开失败
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.openSecure('wgt://a.txt',1,'password',function(err,data,dataType,optId){
    if(err){
        //出错了
        alert(err);
        return;
    }
    if(data == 0){
        //打开成功了
    }else{
        //打开失败
    }
});
appcan.file.close(optId) //关闭文件流
optId:文件的操作Id

参数还可以以对象的形式传参:

{
    optId:''
}

例如:

//关闭一个指定的文件流
appcan.file.close(optId)
//另外一种使用方式
var file = appcan.require('file');
file.close(optId)
appcan.file.read(filePath,length,callback) //读取指定文件的内容
  filePath:要读取文件的路径
  length:要读取文件的长度,默认为-1即读取文件全部内容
  callback(err,data,dataType,optId):读取文件完成后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    length:-1,
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//读取指定的文件内容
appcan.file.read({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //出错了
            return;
        }
        //data 就是文件内的数据

    }
});
//另外一种使用方式
var file = appcan.require('file');
file.read({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //出错了
            return;
        }
        //data 就是文件内的数据

    }
});
appcan.file.readSecure(filePath,length,key,callback) //读取指定加密文件的内容
  filePath:要读取文件的路径
  length:要读取文件的长度,默认为-1即读取文件全部内容
  key:加密的密钥
  callback(err,data,dataType,optId):读取文件完成后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    length:-1,
    key:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

///读取指定的文件内容
appcan.file.readSecure({
    filePath:'wgt://a.txt',
    key:'',
    callback:function(err,data,dataType,optId){
        if(err){
            //出错了
            return;
        }
        //data 就是文件内的数据

    }
});

//读取指定的文件内容
var file = appcan.require('file');
file.readSecure({
    filePath:'wgt://a.txt',
    key:'',
    callback:function(err,data,dataType,optId){
        if(err){
            //出错了
            return;
        }
        //data 就是文件内的数据

    }
});
appcan.file.readJSON(filePath,callback) //读取指定的json文件
  filePath:json文件的路径
  callback(err,res):读取文件完成后的回调,第一个参数err是一个错误对象,如果为空表示没有错误,如果 不为空表示出错了,res为指定文件的json对象

参数还可以以对象的形式传参:

{
    filePath:'',
    callback:function(err,res){
        //do somethings
    }
}

例如:

//读一个json文件
appcan.file.readJSON({
    filePath:'wgt://a.json',
    callback:function(err,res){
        if(err){
            //出错了
            return;
        }
        //res文件保存这的数据转成了JSON
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.readJSON({
    filePath:'wgt://a.json',
    callback:function(err,res){
        if(err){
            //出错了
            return;
        }
        //res文件保存这的数据转成了JSON
    }
});
appcan.file.write(filePath,content,callback,mode) //把内容写到指定的文件中

filePath:要写的文件路径

  content:要写到文件中的内容
  mode:写入文件中的方式
  callback(err):写完成后的回调,err是错误对象,如果为空则表示没有错误,否则表示有错误发生

参数还可以以对象的形式传参:

{
    filePath:'',
    content:'',
    mode:'',
    callback:function(err){
        //do somethings
    }
}

例如:

//向文件中写入数据
appcan.file.write({
    filePath:'a.txt',
    content:'hello world',
    callback:function(err){
        if(err){
            //写入出错了
            return;
        }
        //写入成功了
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.write({
    filePath:'a.txt',
    content:'hello world',
    callback:function(err){
        if(err){
            //写入出错了
            return;
        }
        //写入成功了
    }
});
appcan.file.writeSecure(filePath,content,callback,mode,key) //把内容写到指定的加密文件中
  filePath:要写的文件路径
  content:要写到文件中的内容
  mode:写入文件中的方式
  key:加密的密钥
  callback(err):写完成后的回调,err是错误对象,如果为空则表示没有错误,否则表示有错误发生

参数还可以以对象的形式传参:

{
    filePath:'',
    content:'',
    mode:'',
    key:'',
    callback:function(err){
        //do somethings
    }
}

例如:

//向文件中写入数据
appcan.file.writeSecure({
    filePath:'a.txt',
    key:'password',
    content:'hello world',
    callback:function(err){
        if(err){
            //写入出错了
            return;
        }
        //写入成功了
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.writeSecure({
    filePath:'a.txt',
    key:'password',
    content:'hello world',
    callback:function(err){
        if(err){
            //写入出错了
            return;
        }
        //写入成功了
    }
});
appcan.file.create(filePath,callback) //创建一个新文件
  filePath:新文件的路径
  callback(err,data,dataType,optId):创建文件完成后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//创建一个新文件
appcan.file.create({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //创建文件出错了
            return;
        }
        if(data == 0){
            //创建成功
        }else{
            //创建失败
        }
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.create({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //创建文件出错了
            return;
        }
        if(data == 0){
            //创建成功
        }else{
            //创建失败
        }
    }
});
appcan.file.createSecure(filePath,key,callback) //创建一个新加密文件
  filePath:新文件的路径
  key:加密的密钥
  callback(err,data,dataType,optId):创建加密文件完成后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    key:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//创建一个新文件
appcan.file.createSecure({
    filePath:'wgt://a.txt',
    key:'password',
    callback:function(err,data,dataType,optId){
        if(err){
            //创建文件出错了
            return;
        }
        if(data == 0){
            //创建成功
        }else{
            //创建失败
        }
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.createSecure({
    filePath:'wgt://a.txt',
    key:'password',
    callback:function(err,data,dataType,optId){
        if(err){
            //创建文件出错了
            return;
        }
        if(data == 0){
            //创建成功
        }else{
            //创建失败
        }
    }
});
appcan.file.remove(filePath,callback) //删除指定的文件
  filePath:要删除的文件路径
  callback(err,data,dataType,optId):删除文件完成后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//删除一个指定的文件,删除a.txt文件
appcan.file.remove({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //删除文件错误
            return;
        }
        if(data == 0){
            //删除文件成功
        }else{
            //删除文件失败
        }
    }
});

//另外一种使用方式
var file = appcan.require('file');
file.remove({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //删除文件错误
            return;
        }
        if(data == 0){
            //删除文件成功
        }else{
            //删除文件失败
        }
    }
});
appcan.file.append(filePath,content,callback) //把内容附加到指定的文件路径
  filePath:要附加内容的文件路径
  content:要附加的内容
  callback(err):写完成后的回调,err是错误对象,如果为空则表示没有错误,否则表示有错误发生

参数还可以以对象的形式传参:

{
    filePath:'',
    content:'',
    callback:function(err){
        //do somethings
    }
}

例如:

//附加新内容到现有内容上
appcan.file.append({
    filePath:'a.txt',
    content:'hello world',
    callback:function(err){
        if(err){
            //附加内容出错了
            return;
        }
        //附加内容成功
    }
});
//另一种使用方式
var file = appcan.require('file');
file.append({
    filePath:'a.txt',
    content:'hello world',
    callback:function(err){
        if(err){
            //附加内容出错了
            return;
        }
        //附加内容成功
    }
});
appcan.file.exists(filePath,callback) //判断给定的路径是否存在文件
  filePath:要判断给定文件的路径
  callback(err,data,dataType,optId):判断文件是否存在的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//判断文件a.txt是否存在
appcan.file.exists({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //判断文件文件出错了
            return;
        }
        if(data == 1){
            //文件存在
        }else{
            //文件不存在
        }
    }
});
//判断文件a.txt是否存在
var file = appcan.require('file');
file.exists({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //判断文件文件出错了
            return;
        }
        if(data == 1){
            //文件存在
        }else{
            //文件不存在
        }
    }
});
appcan.file.stat(filePath,callback) //获取文件的相关属性
  filePath:文件路径
  callback(err,data,dataType,optId):获取文件属性后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id 其中data.isFile如果为true表示是文件,data.isDirectory 为true表示是文件夹。

参数还可以以对象的形式传参:

{
    filePath:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//获取文件信息
appcan.file.stat({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //获取文件信息出错了
            return;
        }
        if(data.isFile){
            //该路径是文件
        }
        if(data.isDirectory){
            //该路径是一个文件夹
        }
    }
});
//另外一种方式
var file = appcan.require('file');
file.stat({
    filePath:'wgt://a.txt',
    callback:function(err,data,dataType,optId){
        if(err){
            //获取文件信息出错了
            return;
        }
        if(data.isFile){
            //该路径是文件
        }
        if(data.isDirectory){
            //该路径是一个文件夹
        }
    }
});
appcan.file.deleteLocalFile(callback) //删除操作写入的文件

删除appcan.file.writeLocalFile操作写入的文件wgt://data/locFile.txt

  callback(err,data,dataType,optId):删除文件完成后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//删除预置本地文件
appcan.file.deleteLocalFile(function(err,data,dataType,optId){
    if(err){
        //删除文件出错了
        return err;
    }
    if(data == 0){
        //删除文件成功
    }else{
        //删除文件失败
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.deleteLocalFile(function(err,data,dataType,optId){
    if(err){
        //删除文件出错了
        return err;
    }
    if(data == 0){
        //删除文件成功
    }else{
        //删除文件失败
    }
});
appcan.file.writeLocalFile(content,callback) //重写内容

重写wgt://data/locFile.txt中的内容,如果不存在文件则创建并写入

  content:要重写的内容
  callback(err):写完成后的回调,err是错误对象,如果为空则表示没有错误,否则表示有错误发生

参数还可以以对象的形式传参:

{
    content:'',
    callback:function(err){
        //do somethings
    }
}

例如:

//向本地预置文件中写新内容
appcan.file.writeLocalFile({
    content:'hello world',
    callback:function(err){
        if(err){
            //出错了
            return;
        }
        //写文件成功
    }
});
//另外一种使用方式
var file = appcan.require('file');
file.writeLocalFile({
    content:'hello world',
    callback:function(err){
        if(err){
            //出错了
            return;
        }
        //写文件成功
    }
});
appcan.file.readLocalFile(callback) //获取本地文件中的内容
  callback(err,data,dataType,optId):读取文件完成后的回调,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//读取预置的本地文件内容
appcan.file.readLocalFile(function(err,data,dataType,optId){
    if(err){
        //读取内容出错了
        return;
    }
    //data就是文件的内容

});
//另外一种使用方式
var file = appcan.require('file');
file.readLocalFile(function(err,data,dataType,optId){
    if(err){
        //读取内容出错了
        return;
    }
    //data就是文件的内容

});
appcan.file.getRealPath(filePath,callback) //获取给定路径的真实路径
  filePath:要获取真实路径的路径
  callback(err,data,dataType,optId):获取文件后的回调函数,第一个参数是Error对象如果为空则表示 没有错误,否则表示操作出错了,data表示返回的操作结果,dataType操作结果的数据类型,optId该操作id

参数还可以以对象的形式传参:

{
    filePath:'',
    callback:function(err,data,dataType,optId){
        //do somethings
    }
}

例如:

//读取预置的本地文件内容
appcan.file.getRealPath('wgt://a.txt'function(err,data,dataType,optId){
    if(err){
        //读取内容出错了
        return;
    }
    //data就是真实路径

});
//另外一种使用方式
var file = appcan.require('file');
file.getRealPath('wgt://a.txt'function(err,data,dataType,optId){
    if(err){
        //读取内容出错了
        return;
    }
    //data就是真实路径

});
还需要帮助吗? 联系我们
最新更新 8th Jul 2021