Я не знаю, что именно вы хотите сделать, но вы можете написать ужасный обходной путь для этого. Я не рекомендую это, поскольку это действительно просто, чтобы обойти проблему. Может быть, ваш вопрос совершенно другой, но это то, что можно понять из него.
Итак, учитывая проблему, у вас есть файлы на компакт-диске, и вы хотите получить к ним доступ. Теперь вы не знаете букву диска, поэтому не знаете, как загрузить файл.
Теперь, если мы зададим другое условие для проблемы, мы можем сделать обходной путь. Допустим, на компакт-диске вы всегда можете найти определенный файл. Если нет, то создайте файл с именем, которое всегда будет на вашем компакт-диске (если у вас разные версии).
Тогда задача состоит в том, чтобы найти букву диска:
var abc:String = "abcdefghijklmnopqrstuvwxyz";
var letter_to_check:String = abc.charAt(0);
checkNextLetter();
function checkNextLetter():void
{
if(abc.length == 0) return;
letter_to_check = abc.charAt(0);
var ldr:Loader = new Loader();
ldr.contentLoaderInfo.addEventListener("complete", ldrDone);
ldr.contentLoaderInfo.addEventListener("ioError", ldrError);
ldr.load(new URLRequest(letter_to_check + ":\\yourfile.txt"));
}
function ldrDone(evt:*):void
{
trace(letter_to_check, "loaded");
abc = abc.slice(1);
checkNextLetter();
}
function ldrError(evt:*):void
{
trace(letter_to_check, "not loaded");
abc = abc.slice(1);
checkNextLetter();
}
Теперь ваш yourfile.txt должен находиться в корне вашего компакт-диска. Если вы запустите эту программу, вы увидите следы и увидите, когда она найдет файл.
Таким образом, каждый раз, когда запускается ldrDone
, вы обнаруживаете диск с файлом.
Итак, если вы готовы использовать этого монстра (не делайте этого), поместите его в начало вашей программы, прежде чем что-либо произойдет. Затем вы можете сохранить букву диска и использовать ее позже, когда вам нужно будет знать, откуда загружать файлы.
Надеюсь, это поможет.