Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

SPFileCollection class

Represents a collection of SPFile objects.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)
[SubsetCallableTypeAttribute]
[ClientCallableTypeAttribute(Name = "FileCollection", ServerTypeId = "{d367b17c-170b-4691-a1e3-8bccf7686ce4}", 
	CollectionIndexerMethodClientName = "GetByUrl", CollectionChildItemType = typeof(SPFile), 
	SampleUrl = "{apiroot}/web/folders/getbyurl({folderrelativeurl})/files")]
public class SPFileCollection : SPBaseCollection

Use the Files property of either the SPWeb or SPFolder class to return the collection of files for the site or folder. To create a new file, use one of the Add methods of SPFileCollection.

Use an indexer to return a single file from the collection. For example, assuming the collection is assigned to a variable named collFiles, use collFiles[index] in C#, or collFiles(index) in Visual Basic, where index is either the index number of the file in the collection or the display name of the file.

The following code example checks every file in the top-level folder of a specified document library for the last time that it was modified and, if the time is less than a certain value, copies the file to another document library.

using (SPSite oSiteCollection = new SPSite("http://MySiteCollection"))
{
    SPWeb oSourceWebsite = oSiteCollection.AllWebs["SourceWebSite"];
    SPWeb oDestinationWebsite = oSiteCollection.AllWebs["DestWebSite"];

    SPFolder oFolder = oSourceWebsite.GetFolder("SourceDocLib");
    SPFileCollection collFiles = oDestinationWebsite.GetFolder("DestDocLib").Files;

    foreach (SPFile oFile in oFolder.Files)
    {
        if (oFile.TimeLastModified < Convert.ToDateTime("12/7/2007 12:00:00 AM"))
        {
            string strDestURL = collFiles.Folder.Url + "/" + oFile.Name;
            byte[] binFile = oFile.OpenBinary();

            collFiles.Add(strDestURL, binFile, true);
        }
    }
    oSourceWebsite.Dispose();
    oDestinationWebsite.Dispose();
}
NoteNote

Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Disposing Objects.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.