Есть пара небольших чисток, которые вы можете сделать ...
package
{
import flash.filesystem.File;
public class UserUtil
{
public static function get currentOSUser():String
{
var userDir:String = File.userDirectory.nativePath;
var userName:String = userDir.substr(userDir.lastIndexOf(File.separator) + 1);
return userName;
}
}
}
Как предложил Кевин, используйте File.separator
, чтобы сделать кросс-платформенное разбиение каталога (только что протестировано в Windows и Mac OS X).
Вам не нужно использовать resolvePath("")
, если вы не ищете ребенка.
Кроме того, создание правильного метода получения позволяет связывать без дальнейшей работы.
В приведенном выше примере я поместил его в класс UserUtil
, теперь я могу связываться с UserUtil.currentOSUser
, например:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Label text="{UserUtil.currentOSUser}"/>
</mx:WindowedApplication>