[心得] AIR 存TXT檔,使用相對路徑。
原始檔案 & 範例檔案下載:
http://et284vu065k3.googlepages.com/AIRSaveFlie.rar
此範例使用了 CJ 的 API ( CJFile )
在這裡謝謝 CJ 教我如何安裝AIR環境,以及如何使用 CJFile
這個範例包含了:
1.基本事件處理
2.File類別使用
3.破解 AIR 在使用相對路徑時無法寫入檔案的方法
1.基本事件處理
就是按鈕按下時要作什麼事那些
ex:
//瀏覽存檔路徑
function B1Click(e:MouseEvent) {
file.browseForSave("存檔路徑");
}
B1.addEventListener(MouseEvent.CLICK, B1Click);
2.File類別使用
file.browseForSave 這個函數...
當你選擇完存檔路徑並按下儲存時會用到事件處理
ex:
//儲存位置選擇
function fileSelect(e:flash.events.Event){
T1.text = e.target.nativePath;
}
file.addEventListener(flash.events.Event.SELECT,fileSelect);
3.破解 AIR 在使用相對路徑時無法寫入檔案的方法
如果你想取得相對路徑你必須寫:
var file:File = new File("app:/1.txt");
但從 app:/ 路徑產生的 File 物件是不支援寫入的
而從絕對路徑產生的 File 物件可以支援寫入,因此
我們可以利用 app:/ 取得相對路徑的絕對路徑
再利用絕對路徑建立一個新的 File 物件
ex:
var file:File = new File("app:/1.txt");
file = new File(file.nativePath);
== 最後附上完整程式碼 (給不想下載檔案的人看的) ==
import idv.cjcat.filesystem.CJFile;
import flash.filesystem.*;
//預設值
var file:File = new File("app:/1.txt");
T1.text = file.nativePath;
T2.text = "科科";
//瀏覽存檔路徑
function B1Click(e:MouseEvent) {
file.browseForSave("存檔路徑");
}
B1.addEventListener(MouseEvent.CLICK, B1Click);
//儲存位置選擇
function fileSelect(e:flash.events.Event)
{
T1.text = e.target.nativePath;
}
file.addEventListener(flash.events.Event.SELECT,fileSelect);
//儲存檔案
function B2Click(e:MouseEvent) {
saveTXT(T2.text,T1.text);
}
B2.addEventListener(MouseEvent.CLICK, B2Click);
function saveTXT(str:String , path:String)
{
var file:File = new File(path);
CJFile.saveTXT(str,file);
}
--
blog:http://etrex.blogspot.com/
site:http://web.ntust.edu.tw/~B9409041/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.120.112.29
推
09/30 14:06, , 1F
09/30 14:06, 1F
→
07/10 11:47, , 2F
07/10 11:47, 2F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章