Pacoteflash.filesystem
Classepublic class File
HerançaFile Inheritance FileReference Inheritance EventDispatcher Inheritance Object

A File object represents a path to a file or directory. This can be an existing file or directory, or it can be one that does not yet exist (for instance, it can represent the path to a file or directory that you wish to create).

The File class has a number of properties and methods for getting information about the file system and for performing operations (such as copying files and directories).

You can use File objects along with FileStream class to read and write files.

The File class extends the FileReference class. The FileReference class, which is available in Flash Player as well as the Adobe Integrated Runtime, represents a pointer to a file, but the File class adds properties and methods that are not exposed in Flash Player (in a SWF running in a browser), due to security considerations.

Veja também

FileStream


Propriedades Públicas
 PropriedadeDefinido por
  applicationDirectory : File
[static] [read-only] The application's resource directory.
File
  applicationStorageDirectory : File
[static] [read-only] The application's private storage directory.
File
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcreationDate : Date
[read-only] The creation date of the file on the local disk.
FileReference
 Inheritedcreator : String
[read-only] The Macintosh creator type of the file, which is only used in Mac OS versions prior to Mac OS X.
FileReference
  desktopDirectory : File
[static] [read-only] The user's desktop directory.
File
  documentsDirectory : File
[static] [read-only] The user's documents directory.
File
  exists : Boolean
[read-only] Whether the referenced file or directory exists.
File
 Inheritedextension : String
[read-only] The filename extension.
FileReference
  icon : Icon
[read-only] An Icon object containing to the icons defined for the file.
File
  isDirectory : Boolean
[read-only] Whether the reference is to a directory.
File
  isHidden : Boolean
[read-only] Whether the referenced file or directory is "hidden." The value is true if the referenced file or directory is hidden; and false otherwise.
File
  isPackage : Boolean
[read-only] Whether the referenced directory is a package.
File
  isSymbolicLink : Boolean
[read-only] Whether the reference is a symbolic link.
File
  lineEnding : String
[static] [read-only] The line-ending character sequence used by the host operating system.
File
 InheritedmodificationDate : Date
[read-only] The date that the file on the local disk was last modified.
FileReference
 Inheritedname : String
[read-only] The name of the file on the local disk.
FileReference
  nativePath : String
The full path in the host operating system representation.
File
  parent : File
[read-only] The directory that contains the file or directory referenced by this File object.
File
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  separator : String
[static] [read-only] The host operating system's path component separator character.
File
 Inheritedsize : Number
[read-only] The size of the file on the local disk in bytes.
FileReference
  systemCharset : String
[static] [read-only] The default encoding used by the host operating system.
File
 Inheritedtype : String
[read-only] The file type.
FileReference
  url : String
The URL for this File path.
File
  userDirectory : File
[static] [read-only] The user's directory.
File
Métodos Públicos
 MétodoDefinido por
  
File(path:String = null)
The constructor function for the File class.
File
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
 Inherited
browse(typeFilter:Array = null):Boolean
Displays a file-browsing dialog box that lets the user select a file to upload.
FileReference
  
Displays a directory chooser dialog box, which lets the user select a directory.
File
  
browseForOpen(title:String, typeFilter:Array = null):void
Displays an Open File dialog box, which lets the user select a file to open.
File
  
browseForOpenMultiple(title:String, typeFilter:Array = null):void
Displays an Open File dialog box, which lets the user select one or more files to open.
File
  
Displays a Save File dialog box, which lets the user select a file desitination.
File
  
Cancels any pending asynchronous operation.
File
  
Canonicalizes the File path.
File
  
Returns a copy of this File object.
File
  
copyTo(newLocation:FileReference, overwrite:Boolean = false):void
Copies the file or directory at the location specified by this File object to the location specified by newLocation parameter.
File
  
copyToAsync(newLocation:FileReference, overwrite:Boolean = false):void
Begins copying the file or directory at the location specified by this File object to the location specified by the destination parameter.
File
  
Creates the specified directory and any necessary parent directories.
File
  
[static] Returns a reference to a new temporary directory.
File
  
[static] Returns a reference to a new temporary file.
File
  
deleteDirectory(deleteDirectoryContents:Boolean = false):void
Deletes the directory.
File
  
deleteDirectoryAsync(deleteDirectoryContents:Boolean = false):void
Deletes the directory asynchronously.
File
  
Deletes the file.
File
  
Deletes the file asynchronously.
File
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
download(request:URLRequest, defaultFileName:String = null):void
Opens a dialog box that lets the user download a file from a remote server.
FileReference
  
Returns an array of File objects corresponding to files and directories in the directory represented by this File object.
File
  
Asynchronously retrieves an array of File objects corresponding to the contents of the directory represented by this File object.
File
  
getRelativePath(ref:FileReference, useDotDot:Boolean = false):String
Finds relative path between two File paths.
File
  
[static] Returns an array of file system root directories.
File
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
  
moveTo(newLocation:FileReference, overwrite:Boolean = false):void
Moves the file or directory at the location specified by this File object to the location specified by the destination parameter.
File
  
moveToAsync(newLocation:FileReference, overwrite:Boolean = false):void
Begins moving the file or directory at the location specified by this File object to the location specified by the newLocation parameter.
File
  
Moves a file or directory to the trash.
File
  
Asynchronously moves a file or directory to the Trash.
File
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
Creates a new File object with a path relative to this File object's path, based on the path parameter (a String).
File
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Starts the upload of a file selected by a user to a remote server.
FileReference
 Inherited
Initiate uploading a file to a URL without any encoding.
FileReference
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Eventos
 Evento Descrição Definido por
 Inherited Dispatched when Flash Player or the and AIR application gains operating system focus and becomes active.EventDispatcher
   Dispatched when a pending asynchronous operation is canceled.File
   Dispatched when an asynchronous operation is complete.File
 Inherited Dispatched when Flash Player loses operating system focus and is becoming inactive.EventDispatcher
   Dispatched when a directory list is available as a result to a call to the getDirectoryListingAsync() method.File
 Inherited Dispatched when an upload is successful.FileReference
 Inherited Dispatched when an upload fails and an HTTP status code is available to describe the failure.FileReference
   Dispatched when an error occurs during an asynchronous file operation.File
 Inherited Dispatched when an upload or download operation starts.FileReference
 Inherited Dispatched periodically during the file upload or download operation.FileReference
   Dispatched when a an operation violates a security constraint.File
   Dispatched when the user selects a file or directory from the a file- or directory-browsing dialog box.File
   Dispatched when the user selects a files from the browseForOpenMultiple() dialog box.File
 Inherited Dispatched after data is received from the server after a successful upload.FileReference
Detalhes da propriedade
applicationDirectorypropriedade
applicationDirectory:File  [read-only]

The application's resource directory.

The url property for this object uses the app URL scheme (not the file URL scheme). This means that the url string is specified starting with "app:" (not file:). Also, if you create a File object relative to the applicationDirectory directory (using the resolvePath() method), the url of the File object also uses the app URL scheme.

Note: You cannot write to files or directories that have paths that use the app URL scheme. Nor can you delete or create files or folders that have paths that use the app URL scheme. Modifying content in the application resource directory is a bad practice, for security reasons. If you want to store application-specific data, consider using the application storage directory (File.applicationStorageDirectory). If you want any of that content (in the application storage directory) to have access to the application-priveleged functionality (AIR APIs), you can expose that functionality using a sandbox bridge.


Implementação
    public static function get applicationDirectory():File

Veja também

applicationStorageDirectorypropriedade 
applicationStorageDirectory:File  [read-only]

The application's private storage directory. Each AIR application has a unique, persistent application storage directory, which is created when you first access applicationStorageDirectory. This directory is a convenient location to store application-specific data.

The url property for this object uses the app-storage URL scheme (not the file URL scheme). This means that the url string is specified starting with "app-storage:" (not file:). Also, if you create a File object relative to the applicationStoreDirectory directory (using the resolvePath() method), the url of the File object also uses the app-storage URL scheme (as in the exemplo).


Implementação
    public static function get applicationStorageDirectory():File

Exemplo

The following code creates a File object pointing to the "images" subdirectory of the application storage directory.
import flash.filesystem.File;

var tempFiles:File = File.applicationStorageDirectory;
tempFiles = tempFiles.resolvePath("images/");
trace(tempFiles.url); // app-storage:/images
desktopDirectorypropriedade 
desktopDirectory:File  [read-only]

The user's desktop directory.


Implementação
    public static function get desktopDirectory():File

Exemplo

The following code outputs a list of files and directories contained in the user's desktop directory:
import flash.filesystem.File;
var desktop:File = File.desktopDirectory;

var files:Array = desktop.getDirectoryListing()

for (var i:uint = 0; i < files.length; i++) {
    trace(files[i].nativePath)
}
documentsDirectorypropriedade 
documentsDirectory:File  [read-only]

The user's documents directory.

On Windows, this is the "My Documents" directory (for exemplo, C:\Documents and Settings\userName\My Documents). On Mac OS, it is /Users/userName/Documents.


Implementação
    public static function get documentsDirectory():File

Exemplo

The following code uses the File.documentsDirectory property and the File.createDirectory() method to ensure that a directory named "Apollo Test" exists in the user's documents directory.
import flash.filesystem.File;

var directory:File = File.documentsDirectory;
directory = directory.resolvePath("Apollo Test");

File.createDirectory(directory);
trace(directory.exists); // true
existspropriedade 
exists:Boolean  [read-only]

Whether the referenced file or directory exists. The value is true if the File object points to an existing file or directory; and false otherwise.


Implementação
    public function get exists():Boolean

Exemplo

The following code creates a temporary file, then deletes it, and uses the File.exists property to check for the existence of the file.
import flash.filesystem.*;

var temp:File = File.createTempFile();
trace(temp.exists) // true
temp.deleteFile();
trace(temp.exists) // false
iconpropriedade 
icon:Icon  [read-only]

An Icon object containing to the icons defined for the file. An Icon object is an array of BitmapData objects corresponding to the various icon states.


Implementação
    public function get icon():Icon

Exemplo

The following code shows how to find the image in the icon array that has the least height, and it sets a Bitmap object to that image:
import flash.filesystem.File;
import flash.display.*;

var directory:File = File.documentsDirectory;
var bitmaps:Array = file.icon.bitmaps;
var bmpData:BitmapData = new BitmapData(1, 1);
for (var i:uint = 0; i < bitmaps.length; i++) {
    if (file.icon.bitmaps[i].height > bmpData.height) {
        bmpData = file.icon.bitmaps[i];
    }
}
var iconBmp:Bitmap = new Bitmap(bmpData);
You might add this Bitmap object as a child of a display object container, such as a Sprite object or a Flex UIComponent object.
isDirectorypropriedade 
isDirectory:Boolean  [read-only]

Whether the reference is to a directory. The value is true if the File object points to a directory; false otherwise.


Implementação
    public function get isDirectory():Boolean

Exemplo

The following code creates an array of File objects pointing to files and directories in the user directory, and then uses the isDirectory property to list only those File objects that point to directories (not files).
import flash.filesystem.*;

var userDirFiles:Array = File.userDirectory.getDirectoryListing();
for (var i:uint = 0; i < userDirFiles.length; i++) {
    if (userDirFiles[i].isDirectory) {
        trace(userDirFiles[i].nativePath);
    }
}    
isHiddenpropriedade 
isHidden:Boolean  [read-only]

Whether the referenced file or directory is "hidden." The value is true if the referenced file or directory is hidden; and false otherwise.


Implementação
    public function get isHidden():Boolean

Exemplo

The following code creates an array of File objects pointing to files and directories in the user directory, and then uses the isHidden property to list hidden files and directories.
import flash.filesystem.*;

var userDirFiles:Array = File.userDirectory.getDirectoryListing();
for (var i:uint = 0; i < userDirFiles.length; i++) {
    if (userDirFiles[i].isHidden) {
        trace(userDirFiles[i].nativePath);
    }
}    
isPackagepropriedade 
isPackage:Boolean  [read-only]

Whether the referenced directory is a package. The value is true if the referenced directory is a package; and false otherwise. Note that the File class does not allow creating packages directly.


Implementação
    public function get isPackage():Boolean
isSymbolicLinkpropriedade 
isSymbolicLink:Boolean  [read-only]

Whether the reference is a symbolic link. The value is true if the File object is a symbolic link; false otherwise. Note that the File class does not allow creating symbolic links directly.

Symbolic links allow a file to point to another file or directory on disk. Although similar, symbolic links are not the same as aliases on Mac OS and shortcuts on Windows. An alias or a shortcut is always reported as a file (rather than a directory), and reading or writing to an alias or shortcut never affects the original file or directory that it points to. On the other hand, a symbolic link behaves exactly like the file or directory it points to. It can be reported as a file or a directory, and reading or writing to a symbolic link affects the file or directory that it points to, not the symbolic link itself.


Implementação
    public function get isSymbolicLink():Boolean
lineEndingpropriedade 
lineEnding:String  [read-only]

The line-ending character sequence used by the host operating system.

On Mac OS, this is the line-feed character (character code 0x0A hexadecimal). On Windows, this is the carriage return character (character code 0x0D hexadecimal) followed by the line-feed character (character code 0x0A hexadecimal).


Implementação
    public static function get lineEnding():String

Exemplo

The following code writes a string (str) to a text file, and uses the File.lineEnding static property to replace all instances of the new-line character (represented in the code by the regular expression /\n/g) with the prefered line ending character for the host operating system.
import flash.filesystem.*;

var str:String = "Hello\n" + 
        "World\n";
str = str.replace(/\n/g, File.lineEnding);
var file:File = File.documentsDirectory.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF(str);
fileStream.close();
nativePathpropriedade 
nativePath:String  [read-write]

The full path in the host operating system representation. On Mac OS, the forward slash (/) character is used as the path separator. However, in Windows, you can set the nativePath property using the forward slash (/) character or the backslash (\) character as the path separator, and AIR automatically replaces forward slashes with the appropriate backslash (\) character.


Implementação
    public function get nativePath():String
    public function set nativePath(value:String):void

Throws
SecurityError — The caller is not in the application security sandbox.

Exemplo

The following code shows the difference between the nativePath property and the url property of a File object. The comments show results on an exemplo Windows computer.
import flash.filesystem.File;

var docs:File = File.documentsDirectory;
trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents
trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
parentpropriedade 
parent:File  [read-only]

The directory that contains the file or directory referenced by this File object. If the file or directory does not exist, the parent property still returns the File object pointing to the containing directory (even if that directory does not exist).

This property is identical to the return value for resolvePath("..") except that the parent of a root directory is null.


Implementação
    public function get parent():File

Exemplo

The following code uses the parent property to show the directory that contains a temporary file.
import flash.filesystem.File;

var tempFile:File = File.createTempDirectory();
trace(tempFile.parent.nativePath);
tempFile.deleteFile();
separatorpropriedade 
separator:String  [read-only]

The host operating system's path component separator character.

On Mac OS, this is the forward slash (/) character. On Windows, it is the backslash (\ character.

Note: When using the backslash character in a String literal, remember to type the character twice (as in "directory\\file.ext"). Each pair of backslashes in a String literal represent a single backslash in the String.


Implementação
    public static function get separator():String

Exemplo

The following code uses the getRelativePath() method to get the relative path between a directory and a file. The code then uses the File.separator static property to replace forward slash (/) characters in the path with the separator character used by the operating system, which is the backslash character (\) on Windows and the forward slash character on other operating systems.
import flash.filesystem.File;

var directory:File = File.documentsDirectory.resolvePath("Apollo Test");
var file:File = File.documentsDirectory.resolvePath("Apollo Test/employees/bob/test.txt");

var relativePath:String = directory.getRelativePath(file); // employees/bob/test.txt
relativePath = relativePath.replace(/\//g, File.separator);
trace(relativePath); 
In this exemplo, the replace() method uses a regular expression, /\//g, to match all forward slash characters.
systemCharsetpropriedade 
systemCharset:String  [read-only]

The default encoding used by the host operating system. Possible values include "windows-1252" "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete list, see Supported Character Sets.

You may use this value when using the readMultiByte() and writeMultiByte() methods of the FileStream class.


Implementação
    public static function get systemCharset():String

Veja também


Exemplo

The following code opens a file, (a test.txt file in the Apollo Test subdirectory of the user's documents directory), and uses the File.systemCharset static property as the charSet parameter of a call to the readMultiByte() method of a FileStream object.
import flash.filesystem.File;

var file:File = File.documentsDirectory.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
var str:String = fileStream.readMultiByte(file.size, File.systemCharset);
trace(str);    
urlpropriedade 
url:String  [read-write]

The URL for this File path.

If this is a reference to the persistent store, the URL scheme is "app-storage", otherwise the scheme is "file".

You can use blank space characters (rather than "%20") when assigning a value to the url property, and AIR automatically encodes the strings (for instance, converting spaces to "%20").


Implementação
    public function get url():String
    public function set url(value:String):void

Throws
SecurityError — The caller is not in the application security sandbox.

Veja também


Exemplo

The following code shows the difference between the nativePath property and the url property of a File object. The comments show results on an exemplo Windows computer.
import flash.filesystem.File;

var docs:File = File.documentsDirectory;
trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents
trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
userDirectorypropriedade 
userDirectory:File  [read-only]

The user's directory.

On Windows, this is the parent of the "My Documents" directory (for exemplo, C:\Documents and Settings\userName). On Mac OS it is /Users/userName.


Implementação
    public static function get userDirectory():File

Exemplo

The following code outputs a list of files and directories contained in the root level of the user directory:
import flash.filesystem.File;

var files:Array = File.userDirectory.listDirectory()
for (var i:uint = 0; i < files.length; i++) {
    trace(files[i].nativePath)
}
Detalhes do construtor
File()Construtor
public function File(path:String = null)

The constructor function for the File class. If you pass a path argument, the File object points to the specified path, and the nativePath property and and url property are set to reflect that path.

Parâmetros
path:String (default = null) — The path to the file. You can specify the path using either a URL or using native path (platform-specific) notation.

If you specify a URL, you can use any of the following URL schemes: file, app, or app-storage. The following are valid values for the path parameter using URL notation:

  • "app:/DesktopPathTest.xml"
  • "app-storage:/preferences.xml"
  • "file:///C:/Documents%20and%20Settings/bob/Desktop" (the desktop on Bob's Windows computer)
  • "file:///Users/bob/Desktop" (the desktop on Bob's Mac computer)

Using the app and app-storage URL schemes is useful, because these can point to a valid file on both Mac and Windows. However, in the other two examples, which use the file URL scheme to point to the user's desktop directory, it would be better to pass no path argument to the File() constructor and then assign File.desktopDirectory to the File object, as it is way to access the desktop directory that is both platform- and user-independent.

If you specify a native path, on Windows you can use either the backslash ("\") character or the forward slash ("/") character as the path separator in this argument; on Mac OS, use the forward slash ("/") character. The following are valid values for the path parameter using native path notation:

  • "C:/Documents and Settings/bob/Desktop"
  • "/Users/bob/Desktop"

However, for these two examples, you should pass no path argument to the File() constructor and then assign File.desktopDirectory to the File object, as it is way to access the desktop directory that is both platform- and user-independent.

Veja também

Detalhes do método
browseForDirectory()método
public function browseForDirectory(title:String):void

Displays a directory chooser dialog box, which lets the user select a directory. When the user selects the directory, the select event is dispatched. The target property of the select event is the File object pointing to the selected directory.

Parâmetros

title:String — The string that is diplayed in the title bar of the dialog box.


Eventos
cancel:Event — Dispatched when the user clicks the Cancel button in the Open File dialog box.
 
select:Event — Dispatched when the user selects a directory and closes the directory chooser dialog box.

Veja também


Exemplo

The following code uses the File.browseForDirectory() method to let the user select a directory. Upon selecting the directory, the code lists the contents of the selected directory in the trace() output:
import flash.filesystem.File;
import flash.events.Event;

var directory:File = File.documentsDirectory;

try
{
    directory.browseForDirectory("Select Directory");
    directory.addEventListener(Event.SELECT, directorySelected);
}
catch (error:Error)
{
    trace("Failed:", error.message)
}

function directorySelected(event:Event):void 
{
    directory = event.target as File;
    var files:Array = directory.getDirectoryListing();
    for(var i:uint = 0; i < files.length; i++)
    {
        trace(files[i].name);
    }
}
browseForOpen()método 
public function browseForOpen(title:String, typeFilter:Array = null):void

Displays an Open File dialog box, which lets the user select a file to open. When the user selects the file, the select event is dispatched. The target property of the select event is the File object pointing to the selected file.

Parâmetros

title:String — The string that is diplayed in the title bar of the dialog box.
 
typeFilter:Array (default = null) — An array of FileFilter instances used to filter the files that are displayed in the dialog box. If you omit this parameter, all files are displayed. For more information, see the FileFilter class.


Eventos
cancel:Event — Dispatched when the user clicks the Cancel button in the Open File dialog box.
 
select:Event — Dispatched when the user selects a file and closes the Open File dialog box.

Veja também


Exemplo

The following code uses the File.browseForOpen() method to let the user choose a text file. Upon selecting the file, the code reads the file data into a string:
import flash.filesystem.*;
import flash.events.Event;
import flash.net.FileFilter;

var fileToOpen:File = new File();
var txtFilter:FileFilter = new FileFilter("Text", "*.as;*.css;*.html;*.txt;*.xml");

try 
{
    fileToOpen.browseForOpen("Open", [txtFilter]);
    fileToOpen.addEventListener(Event.SELECT, fileSelected);
}
catch (error:Error)
{
    trace("Failed:", error.message)
}

function fileSelected(event:Event):void 
{
    var stream:FileStream = new FileStream();
    stream.open(event.target, FileMode.READ);
    var fileData:String = stream.readUTFBytes(stream.bytesAvailable);
    trace(fileData);
}
browseForOpenMultiple()método 
public function browseForOpenMultiple(title:String, typeFilter:Array = null):void

Displays an Open File dialog box, which lets the user select one or more files to open. When the user selects the files, the selectMultiple event is dispatched. The target property of the select event is this File object. Unlike browseForOpen(), this File object is not updated to reference any of the chosen files. Instead, the resulting FileListEvent contains an array of the chosen Files.

Parâmetros

title:String — The string that is diplayed in the title bar of the dialog box.
 
typeFilter:Array (default = null) — An array of FileFilter instances used to filter the files that are displayed in the dialog box. If you omit this parameter, all files are displayed. For more information, see the FileFilter class.


Eventos
cancel:Event — Dispatched when the user clicks the Cancel button in the Open File dialog box.
 
selectMultiple:FileListEvent — Dispatched when the user selects file and closes the Open File dialog box.

Veja também


Exemplo

The following code uses the File.browseForOpenMultiple() method to let the user choose multiple files. Upon selecting the files, the code outputs the paths for the selected files:
import flash.filesystem.*;
import flash.events.FileListEvent;

var docsDir:File = File.documentsDirectory;
try
{
    docsDir.browseForOpenMultiple("Select Files");
    docsDir.addEventListener(FileListEvent.SELECT_MULTIPLE, filesSelected);
}
catch (error:Error)
{
    trace("Failed:", error.message)
}

function filesSelected(event:FileListEvent):void 
{
    for (var i:uint = 0; i < event.files.length; i++) 
    {
        trace(event.files[i].nativePath);
    }
}
browseForSave()método 
public function browseForSave(title:String):void

Displays a Save File dialog box, which lets the user select a file desitination. When the user selects the file, the select event is dispatched. The target property of the select event is the File object pointing to the selected Save destination.

Parâmetros

title:String — The string that is diplayed in the title bar of the dialog box.


Eventos
cancel:Event — Dispatched when the user clicks the Cancel button in the Save File dialog box.
 
select:Event — Dispatched when the user selects a file and closes the Save File dialog box.

Veja também


Exemplo

The following code uses the File.browseForSave() method to let the user select a path for saving a file. Upon selecting the files, the code saves data to the selected file path:
import flash.filesystem.*;
import flash.events.Event;

var docsDir:File = File.documentsDirectory;
try
{
    docsDir.browseForSave("Save As");
    docsDir.addEventListener(Event.SELECT, saveData);
}
catch (error:Error)
{
    trace("Failed:", error.message)
}

function saveData(event:Event):void 
{
    var newFile:File = event.target as File;
    var str:String = "Hello.";
    if (!newFile.exists)
    {
        var stream:FileStream = new FileStream();
        stream.open(newFile, FileMode.WRITE);
        stream.writeUTFBytes(str);
        stream.close();
    }
}
cancel()método 
public override function cancel():void

Cancels any pending asynchronous operation.

canonicalize()método 
public function canonicalize():void

Canonicalizes the File path.

If the File object represents an existing file or directory, canonicalization adjusts the path so that it matches the case of the actual file or directory name. If the File object is a symbolic link, canonicalization adjusts the path so that it matches the file or directory that the link points to, regardless of whether the file or directory that is pointed to exists.

In addition, canonicalization converts short files names to long file names on Windows.


Exemplo

The following code shows how to use the canonicalize() method to find the correct capitalization of a directory name. Before running this exemplo, create a directory named Apollo Test on the desktop of your computer.
import flash.filesystem.*;

var path:File = File.desktopDirectory.resolvePath("apollo test");
trace(path.nativePath); 
path.canonicalize();
trace(path.nativePath); // ...\Apollo Test

The following code shows how to use the canonicalize() method to find the long name of a Windows directory based on its short name. This exemplo assumes that there is an Apollo Test directory at the root of the C: drive, and that the system has assigned the short name APOLLO~1 to the directory.
import flash.filesystem.*;

var path:File = new File();
path.nativePath = "C:\\APOLLO~1";
path.canonicalize();
trace(path.nativePath); // C:\Apollo Test
clone()método 
public function clone():File

Returns a copy of this File object. Event registrations are not copied.

Note: This method does not copy the file itself. It simply makes a copy of the instance of the ActionScript File object. To copy a file, use the copyTo() method.

Retorna
File
copyTo()método 
public function copyTo(newLocation:FileReference, overwrite:Boolean = false):void

Copies the file or directory at the location specified by this File object to the location specified by newLocation parameter.

Parâmetros

newLocation:FileReference — The target location of the new file. Note that this File object specifies the resulting (copied) file or directory, not the path to the containing directory.
 
overwrite:Boolean (default = false) — If false, the copy will fail if the file specified by the target parameter already exists. If true, the operation will first delete any existing file or directory of the same name (however, you cannot copy a file or folder to its original path). (Note: If you set this parameter to true and the source and destination File objects point to the same path, calling this method deletes the file or directory.)


Throws
IOError — The source does not exist or the destination exists and overwrite is false or the source could not be copied to the target. On Windows, you cannot copy a file that is open or a directory that contains a file that is open.

Veja também


Exemplo

The following code shows how to use the copyTo() method to copy a file. Before running this code, be sure to create a test1.txt file in the Apollo Test subdirectory of the documents directory on your computer. The resulting copied file is named test2.txt, and it is also in the Apollo Test subdirectory. By setting the clobber parameter to true, the operation overwrites any existing test2.txt file.
import flash.filesystem.File;
import flash.events.Event;

var sourceFile:FileReference = File.documentsDirectory;
sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt");
var destination:FileReference = File.documentsDirectory;
destination = destination.resolvePath("Apollo Test/test2.txt");

if (sourceFile.copyTo(destination, true)) {
    trace("Done.")
}

The following code shows how to use the copyTo() method to copy a file. Before running this code, be sure to create a test1.txt file in the Apollo Test subdirectory of the home directory on your computer. The resulting copied file is named test2.txt. The try and catch statements show how to respond to errors.
import flash.filesystem.File;

var sourceFile:File = File.documentsDirectory;
sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("Apollo Test/test2.txt");

try 
{
    if (sourceFile.copyTo(destination, true)) {
}
catch (error:Error)
{
    trace("Error:" error.message)
}
copyToAsync()método 
public function copyToAsync(newLocation:FileReference, overwrite:Boolean = false):void

Begins copying the file or directory at the location specified by this File object to the location specified by the destination parameter. Upon completion, either a complete event (successful) or an ioError event (unsucessful) is dispatched.

Parâmetros

newLocation:FileReference — The target location of the new file. Note that this File object specifies the resulting (copied) file or directory, not the path to the containing directory.
 
overwrite:Boolean (default = false) — If false, the copy will fail if the file specified by the target file already exists. If true, the operation will first delete any existing file or directory of the same name.


Eventos
complete:Event — Dispatched when the file or directory has been successfully copied.
 
ioError:IOErrorEvent — The source does not exist or the destination exists and overwrite is false or the source could not be copied to the target. On Windows, you cannot copy a file that is open or a directory that contains a file that is open.

Veja também


Exemplo

The following code shows how to use the copyToAsync() method to copy a file. Before running this code, be sure to create a test1.txt file in the Apollo Test subdirectory of the documents directory on your computer. The resulting copied file is named test2.txt, and it is also in the Apollo Test subdirectory. By setting the clobber parameter to true, the operation overwrites any existing test2.txt file.
import flash.filesystem.File;
import flash.events.Event;

var sourceFile:File = File.documentsDirectory;
sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("Apollo Test/test2.txt");

var sourceFile.copyToAsync(destination, true);
sourceFile.addEventListener(Event.COMPLETE, fileCopiedHandler);

function fileCopiedHandler(event:Event): void {
    trace("Done.")
}
createDirectory()método 
public function createDirectory():void

Creates the specified directory and any necessary parent directories. If the directory already exists, no action is taken.


Throws
IOError — The directory did not exist and could not be created.

Exemplo

The following code moves a file named test.txt on the desktop to the Apollo Test subdirectory of the documents directory. The createDirectory() method to ensure that the Apollo Test directory exists before the file is moved.
import flash.filesystem.*;

var source:File = File.desktopDirectory.resolvePath("test.txt");
var target:File = File.documentsDirectory.resolvePath("Apollo Test/test.txt");
var targetParent:File = target.parent;
targetParent.createDirectory();
source.moveTo(target, true);
createTempDirectory()método 
public static function createTempDirectory():File

Returns a reference to a new temporary directory. This is a new directory in the system's temporary directory path.

This method lets you identify a new, unique directory, without having to query the system to see that the directory is new and unique.

You may want to delete the temporary directory before closing the application, since it is not deleted automatically.

Retorna
File — A File referencing the new temporary directory.

Veja também


Exemplo

The following code uses the createTempFile() method to obtain a reference to a new temporary directory.
import flash.File;

var temp:File = File.createTempDirectory();
trace(temp.nativePath);
Each time you run this code, a new (unique) file is created.
createTempFile()método 
public static function createTempFile():File

Returns a reference to a new temporary file. This is a new file in the system's temporary directory path.

This method lets you identify a new, unique file, without having to query the system to see that the file is new and unique.

You may want to delete the temporary file before closing the application, since it is not deleted automatically.

Retorna
File — A File referencing the new temporary file.

Veja também


Exemplo

The following code uses the createTempFile() method to obtain a reference to a new temporary file.
import flash.File;

var temp:File = File.createTempFile();
trace(temp.nativePath);
Each time you run this code, a new (unique) file is created.
deleteDirectory()método 
public function deleteDirectory(deleteDirectoryContents:Boolean = false):void

Deletes the directory.

Parâmetros

deleteDirectoryContents:Boolean (default = false) — Whether or not to delete a directory that contains files or subdirectories. When false, if the directory contains files or directoriess, a call to this method throws an exception.


Throws
IOError — The directory does not exist or the directory could not be deleted. On Windows, you cannot delete a directory that contains a file that is open.

Veja também


Exemplo

The following code creates an empty directory, and then uses the deleteDirectory() method to delete the directory.
import flash.filesystem.File;

var directory:File = File.documentsDirectory.resolvePath("Empty Junk Directory/");
File.createDirectory(directory);
trace(directory.exists); // true
directory.deleteDirectory();
trace(directory.exists); // false
deleteDirectoryAsync()método 
public function deleteDirectoryAsync(deleteDirectoryContents:Boolean = false):void

Deletes the directory asynchronously.

Parâmetros

deleteDirectoryContents:Boolean (default = false) — Whether or not to delete a directory that contains files or subdirectories. When false, if the directory contains files or directories, the File object dispatches an ioError event.


Eventos
complete:Event — Dispatched when the directory has been deleted successfully.
 
ioError:IOErrorEvent — The directory does not exist or could not be deleted. On Windows, you cannot delete a directory that contains a file that is open.

Veja também

deleteFile()método 
public function deleteFile():void

Deletes the file.


Throws
IOError — The file does not exist or could not to be deleted. On Windows, you cannot delete a file that is currently open.

Veja também


Exemplo

The following code creates a temporary file and then calls the deleteFile() method to delete it.
import flash.filesystem.*;

var file:File = File.createTempFile();
trace(file.exists); // true
file.deleteFile();
trace(file.exists); // false
deleteFileAsync()método 
public function deleteFileAsync():void

Deletes the file asynchronously.


Eventos
complete:Event — Dispatched when the file has been deleted successfully.
 
ioError:IOErrorEvent — The file does not exist or could not be deleted. On Windows, you cannot delete a file that is currently open.

Veja também

getDirectoryListing()método 
public function getDirectoryListing():Array

Returns an array of File objects corresponding to files and directories in the directory represented by this File object. This method does not explore the contents of subdirectories.

Retorna
Array — An array of File objects.

Veja também


Exemplo

The following code shows how to use the getDirectoryListing() method to enumerate the contents of the user directory.
import flash.filesystem.File;

var directory:File = File.userDirectory;
var list:Array = directory.getDirectoryListing();
for (var i:uint = 0; i < list.length; i++) {
    trace(list[i].nativePath);
}
getDirectoryListingAsync()método 
public function getDirectoryListingAsync():void

Asynchronously retrieves an array of File objects corresponding to the contents of the directory represented by this File object.


Eventos
ioError:ErrorEvent — You do not have adequate permissions to read this directory, or the directory does not exist.
 
directoryListing:FileListEvent — The directory contents have been enumerated successfully. The contents event includes a files property, which is the resulting array of File objects.

Veja também


Exemplo

The following code shows how to use the getDirectoryListingAsync() method to enumerate the contents of the user directory.
import flash.filesystem.File;
import flash.events.FileListEvent;

var directory:File = File.userDirectory;
directory.getDirectoryListingAsync();
directory.addEventListener(FileListEvent.DIRECTORY_LISTING, directoryListingHandler);

function directoryListingHandler(event:FileListEvent):void {
    var list:Array = event.files;
    for (var i:uint = 0; i < list.length; i++) {
        trace(list[i].nativePath);
    }
}
getRelativePath()método 
public function getRelativePath(ref:FileReference, useDotDot:Boolean = false):String

Finds relative path between two File paths.

The relative path is the list of components which may be appended to (resolved against) this reference in order to locate the second (parameter) reference. The relative path is returned using the "/" separator character.

Optionally, relative paths may include ".." references, but such a paths will not cross conspicuous volume boundaries.

Parâmetros

ref:FileReference — A File object against which the path is given.
 
useDotDot:Boolean (default = false) — Specifies whether the resulting relative path can use ".." components.

Retorna
String — The relative path between this File and the ref file, if possible; otherwise null.

Throws
ArgumentError — The reference is null.
 
SecurityError — The caller is not in the application security sandbox.
getRootDirectories()método 
public static function getRootDirectories():Array

Returns an array of file system root directories.

Retorna
Array — An array of File objects, listing the root directories.

Exemplo

The following code outputs a list of root directories:
import flash.filesystem.File;
var rootDirs:Array = File.getRootDirectories();

for (var i:uint = 0; i < rootDirs.length; i++) {
    trace(rootDirs[i].nativePath)
}
moveTo()método 
public function moveTo(newLocation:FileReference, overwrite:Boolean = false):void

Moves the file or directory at the location specified by this File object to the location specified by the destination parameter.

To rename a file, set the destination parameter to point to a path that is in the file's directory, but with a different filename.

Parâmetros

newLocation:FileReference — The target location for the move. This object specifies the path to the resulting (moved) file or directory, not the path to the containing directory.
 
overwrite:Boolean (default = false) — If false, the move will fail if the target file already exists. If true, the operation will overwrite any existing file or directory of the same name. (Note: If you set this parameter to true and the source and destination File objects point to the same path, calling this method deletes the file or directory.)


Throws
IOError — The source does not exist, or the destination exists and overwrite is set to false, or the source file could not be moved to the target location. On Windows, you cannot move a file that is open or a directory that contains a file that is open.

Veja também


Exemplo

The following code shows how to use the moveTo() method to rename a file. The original file name is test1.txt and the resulting name is test2.txt. Since both the source and destination File object point to the same directory (the Apollo Test subdirectory of the user's documents directory), the moveTo() method renames the file (rather than moving it to a new directory). Before running this code, be sure to create a test1.txt file in the Apollo Test subdirectory of the documents directory on your computer. By setting the clobber parameter to true, the operation overwrites any existing test2.txt file.

import flash.filesystem.File;
import flash.events.Event;

var sourceFile:File = File.documentsDirectory;
sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("Apollo Test/test2.txt");

try  
{
    sourceFile.moveTo(destination, true);
}
catch (error:Error)
{
    trace("Error:" error.message);
}

The following code shows how to use the moveTo() method to move a file. The original file the test1.txt file in the Apollo Test subdirectory of the user's documents directory, and the method moves the file to the Results subdirectory). Before running this code, be sure to create a test1.txt file in the Apollo Test subdirectory of the home directory on your computer. The try and catch statements show how to respond to errors.
import flash.filesystem.File;

var sourceFile:File = File.documentsDirectory;
sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("Apollo Test/Results/test1.txt");

try 
{
    sourceFile.moveTo(destination, true);
}
catch (error:Error)
{
    trace("Error:" error.message);
}
moveToAsync()método 
public function moveToAsync(newLocation:FileReference, overwrite:Boolean = false):void

Begins moving the file or directory at the location specified by this File object to the location specified by the newLocation parameter.

To rename a file, set the destination parameter to point to a path that is in the file's directory, but with a different filename

Parâmetros

newLocation:FileReference — The target location for the move. This object specifies the path to the resulting (moved) file or directory, not the path to the containing directory.
 
overwrite:Boolean (default = false) — If false, the move will fail if the target file already exists. If true, the operation will overwrite any existing file or directory of the same name.


Eventos
complete:Event — Dispatched when the file or directory has been successfully moved.
 
ioError:IOErrorEvent — The source does not exist or the destination exists and overwrite is false or the source could not be moved to the target.
 
ioError:IOErrorEvent — You do not have adequate permissions to read the source file or to write to the target location; or the source file is missing. On Windows, you cannot move a file that is open or a directory that contains a file that is open.

Veja também


Exemplo

The following code shows how to use the moveToAsync() method to rename a file. The original file name is test1.txt and the resulting name is test2.txt. Since both the source and destination File object point to the same directory (the Apollo Test subdirectory of the user's documents directory), the moveToAsync() method renames the file (rather than moving it to a new directory). Before running this code, be sure to create a test1.txt file in the Apollo Test subdirectory of the documents directory on your computer. By setting the clobber parameter to true, the operation overwrites any existing test2.txt file.
import flash.filesystem.File;
import flash.events.Event;

var sourceFile:File = File.documentsDirectory;
sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("Apollo Test/test2.txt");

var sourceFile.moveToAsync(destination, true);
sourceFile.addEventListener(Event.COMPLETE, fileMoveCompleteHandler);

function fileMoveCompleteHandler(event:Event): void 
{
    trace("Done.")
}
moveToTrash()método 
public function moveToTrash():void

Moves a file or directory to the trash.


Throws
IOError — The operating system did not allow the operation or the file or directory does not exist. On Windows, you cannot move a file that is open or a directory that contains a file that is currently open.

Veja também

moveToTrashAsync()método 
public function moveToTrashAsync():void

Asynchronously moves a file or directory to the Trash.


Eventos
ioError:IOErrorEvent — The operating system did not allow the operation or the file or directory does not exist. On Windows, you cannot move a file that is open or a directory that contains a file that is currently open.
 
complete:Event — Dispatched when the file or directory has been successfully moved to the trash.

Veja também

resolvePath()método 
public function resolvePath(path:String):File

Creates a new File object with a path relative to this File object's path, based on the path parameter (a String).

If the given path is an absolute file reference, then that path is used, otherwise the path is interpreted relative to this File object as follows.

The given path is "appended" to this path (however, use of ".." in the path can return a resulting path that is not a child of the File object). The resulting reference need not refer to an actual file system location. Use the forward slash (/) character as the path separator (not \).

All resulting paths are normalized as follows:

Parâmetros

path:String — The path to append to this File's path.

Retorna
File — A new File object, with the specified relative file path.
Detalhes do evento
cancel Evento
Event Object Type: flash.events.Event
Event.type property = flash.events.Event.CANCEL

Dispatched when a pending asynchronous operation is canceled.

The Event.CANCEL constant defines the value of the type property of a cancel event object.

This event has the following properties:

PropriedadeValor
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetA reference to the object on which the operation is canceled.
complete Evento  
Event Object Type: flash.events.Event
Event.type property = flash.events.Event.COMPLETE

Dispatched when an asynchronous operation is complete.

The Event.COMPLETE constant defines the value of the type property of a complete event object.

This event has the following properties:

PropriedadeValor
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe network object that has completed loading.
directoryListing Evento  
Event Object Type: flash.events.FileListEvent
FileListEvent.type property = flash.events.FileListEvent.DIRECTORY_LISTING

Dispatched when a directory list is available as a result to a call to the getDirectoryListingAsync() method.

The FileListEvent.DIRECTORY_LISTING constant defines the value of the type property of the event object for a directoryListing event.

Veja também

ioError Evento  
Event Object Type: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

Dispatched when an error occurs during an asynchronous file operation.

Defines the value of the type property of an ioError event object.

This event has the following properties:

PropriedadeValor
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
errorIDA reference number associated with the specific error.
targetThe network object experiencing the input/output error.
textText to be displayed as an error message.
securityError Evento  
Event Object Type: flash.events.SecurityErrorEvent
SecurityErrorEvent.type property = flash.events.SecurityErrorEvent.SECURITY_ERROR

Dispatched when a an operation violates a security constraint.

The SecurityErrorEvent.SECURITY_ERROR constant defines the value of the type property of a securityError event object.

This event has the following properties:

PropriedadeValor
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe network object reporting the security error.
textText to be displayed as an error message.
select Evento  
Event Object Type: flash.events.Event
Event.type property = flash.events.Event.SELECT

Dispatched when the user selects a file or directory from the a file- or directory-browsing dialog box.

The Event.SELECT constant defines the value of the type property of a select event object.

This event has the following properties:

PropriedadeValor
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object on which an item has been selected.
selectMultiple Evento  
Event Object Type: flash.events.FileListEvent
FileListEvent.type property = flash.events.FileListEvent.SELECT_MULTIPLE

Dispatched when the user selects a files from the browseForOpenMultiple() dialog box.

The FileListEvent.SELECT_MULTIPLE constant defines the value of the type property of the event object for a selectMultiple event.

Veja também