CFLib.org – Common Function Library Project

fileSize(filename)

Last updated July 11, 2006

Version: 3 | Requires: ColdFusion 5 | Library: FileSysLib

 
Rated 0 time(s). Average Rating: 0

Description:
This function will return the length of a file. It uses the standard Java File object, which makes it very fast under ColdfusionMX. If a directory is passed instead of a file, the UDF will return the total size of all files in the directory. If the file or folder does not exist, it will return 0.

Return Values:
Returns a number.

Example:

view plain print about
<cfset filename="c:\autoexec.bat">
<cfoutput>
    Length: #fileSize(filename)#<br>
</cfoutput>

Parameters:

Name Description Required
filename The filename or directory path. Yes

Full UDF Source:

view plain print about
<cfscript>
/**
 * This function will return the length of a file or a directory.
 * Version 2 by Nathan Dintenfass
 * Version 3 by Nat Papovich
 * 
 * @param filename      The filename or directory path. (Required)
 * @return Returns a number. 
 * @author Jesse Houwing (j.houwing@student.utwente.nl) 
 * @version 3, July 11, 2006 
 */

function fileSize(pathToFile) {
    var fileInstance = createObject("java","java.io.File").init(toString(arguments.pathToFile));
    var fileList = "";
    var ii = 0;
    var totalSize = 0;

    //if this is a simple file, just return it's length
    if(fileInstance.isFile()){
        return fileInstance.length();
    }
    else if(fileInstance.isDirectory()) {
        fileList = fileInstance.listFiles();
        for(ii = 1; ii LTE arrayLen(fileList); ii = ii + 1){
            totalSize = totalSize + fileSize(fileList[ii]);
        }
        return totalSize; 
    }
    else
        return 0;
}
</cfscript>
blog comments powered by Disqus

Search CFLib.org


Latest Additions

Troy Pullis Troy Pullis added
firstXDayOfMonth
19 day(s) ago

Henry Ho Henry Ho added
arrayMap
a while ago

Henry Ho Henry Ho added
queryGetRow
a while ago

Tony Felice Tony Felice added
getRowFromQuery
a while ago

Top Rated

Darwan Leonardo Sitepu backupDatabase
Rated 5.0, 44 time(s)

Barney Boisvert indentXml
Rated 5.0, 12 time(s)

Rachel Lehman deAccent
Rated 5.0, 8 time(s)

Markus Schneebeli                                 ListRemoveByStri...
Rated 5.0, 4 time(s)

Created by Raymond Camden / Design by Justin Johnson