creator小機能---JSBのFileUtilsローカルファイルの読み書きについて
jsbはjavascript bindの代表で、C/C++全体のエクスポートのバインドはこのjsbの中にあり、jsbはh 5をサポートしていません.
FileUtilsはローカルファイルの読み書きのツールクラスであり、グローバルにはインスタンスが1つしかありません.
jsb.ファイル読み書きツールクラスのインスタンスを取得する
jsb.fileUtils.isDirectoryExist(path):パスが存在するかどうかを判断する
jsb.fileUtils.createDirectory(path); パスを作成
jsb.fileUtils.getDataFromFile(path)バイナリデータの取得;//UIT 8 rrayテキスト
jsb.fileUtils.writeDataToFile(data,path); バイナリデータを書く//UIT 8 rrayオブジェクト
jsb.fileUtils.writeStringToFile(data,path); テキストファイルを書くdata Stringオブジェクト
jsb.fileUtils.getStringFromFile(path); テキストデータの取得;//data String
jsb.fileUtils.removeFile(path); ファイルを削除
jsb.fileUtils.getWritablePath();
ファイルを取得する書き込み可能なディレクトリは、内部に格納されたディレクトリであり、私たちの携帯電話OSはアプリごとに読み取り可能なパスを割り当てますが、このアプリがアンインストールされると、このデータも削除されます.ローカルで永続的に保存するには、外部ストレージに書き込むことができます.外部ストレージのこのパスはfileUtilsツールクラスにも適用されます.
FileUtilsはローカルファイルの読み書きのツールクラスであり、グローバルにはインスタンスが1つしかありません.
jsb.fileUtils
jsb.ファイル読み書きツールクラスのインスタンスを取得する
// jsb.fileUtils , cc.director;
// , ;
// , OS APP ;
// jsb --> javascript binding --> jsb h5
var writeable_path = jsb.fileUtils.getWritablePath();
console.log(writeable_path);
jsb.fileUtils.isDirectoryExist(path):パスが存在するかどうかを判断する
//
var new_dir = writeable_path + "new_dir";
// , ;
// getWritablePath , , , , APP ;
if(!jsb.fileUtils.isDirectoryExist(new_dir)) {
jsb.fileUtils.createDirectory(new_dir);
}
else {
console.log("dir is exist!!!");
}
jsb.fileUtils.createDirectory(path); パスを作成
jsb.fileUtils.getDataFromFile(path)バイナリデータの取得;//UIT 8 rrayテキスト
jsb.fileUtils.writeDataToFile(data,path); バイナリデータを書く//UIT 8 rrayオブジェクト
// (1) , string
var str_data = jsb.fileUtils.getStringFromFile(new_dir + "/test_str_read.txt");
console.log(str_data);
str_data = "hello test_write !!!!!"
jsb.fileUtils.writeStringToFile(str_data, new_dir + "/test_str_write.txt");
jsb.fileUtils.writeStringToFile(data,path); テキストファイルを書くdata Stringオブジェクト
jsb.fileUtils.getStringFromFile(path); テキストデータの取得;//data String
// (2) , Uint8Array --> js
var bin_array = jsb.fileUtils.getDataFromFile(new_dir + "/test_bin_read.png");
console.log(bin_array[0], bin_array[1]); // ;
jsb.fileUtils.writeDataToFile(bin_array, new_dir + "/test_bin_write.png");
jsb.fileUtils.removeFile(path); ファイルを削除
jsb.fileUtils.getWritablePath();
//
// jsb.fileUtils.removeFile(new_dir + "/test_bin_write.png");
// jsb.fileUtils.removeDirectory(new_dir);
ファイルを取得する書き込み可能なディレクトリは、内部に格納されたディレクトリであり、私たちの携帯電話OSはアプリごとに読み取り可能なパスを割り当てますが、このアプリがアンインストールされると、このデータも削除されます.ローカルで永続的に保存するには、外部ストレージに書き込むことができます.外部ストレージのこのパスはfileUtilsツールクラスにも適用されます.