# FileInfo

Returns a struct of file information.

Different values are returned for FileInfo and GetFileInfo

## Method Signature

```
FileInfo(file=[any])
```

### Arguments

| Argument | Type  | Required | Description                                       | Default |
| -------- | ----- | -------- | ------------------------------------------------- | ------- |
| `file`   | `any` | `true`   | The filepath or file object to retrieve info upon |         |

## Examples

### Output some information about a temporary file

[Run Example](https://try.boxlang.io/?code=eJxtkFFLwzAUhd%2F9Fdc8SAdj1ldFpJqWBVwHa2HgW2ZSF2ja0aaM%2Beu9N0vLZMtLck%2FOd3Nz7CkztYZX%2BNGu1PZAVTQW3HT627XdKZrNgTndO7pmMHu5q%2FAgmqo9k1moIrDnfugw%2FUZLJXe%2Be3Q%2FAouPJN%2BkCYc3YEPD4BkYm8EDsC64GaHbzrib6HYjyvSKPQa7Z5dGKd38J0WxFJynOZFN6%2BCC3Xs7kko6eo%2FjVhqrs7az0kUw9fhMinK15iITKcc4qqGupygK80tsPtid7q7IQnyl8AhPcRyHDfl4Eceep%2BH1enCHARmGC6ea0DxZpTQlqqYHurrIFfV50KbAUAPZqCCHLFBcwI3HhIOj7EE6qGXvwLbKVEYrEoj3iYwN92SEnj7aVjAO6T9OltW77%2F8HrTatjw%3D%3D)

```java
myFile = getTempFile( getTempDirectory(), "testFile" );
fileInfo = getFileInfo( myFile );
isReadable = (!fileInfo.CANREAD ? "un" : "") & "readable";
isWritable = (!fileInfo.CANWRITE ? "un" : "") & "writable";
isHidden = (!fileInfo.ISHIDDEN ? "not " : "") & "hidden";
date = DateTimeFormat( fileInfo.LASTMODIFIED, "full" );
fileSize = NumberFormat( fileInfo.SIZE / 1000 / 1000, "0.00" );
writeOutput( """" & fileInfo.NAME & """ is " & isReadable & ", " & isWritable & " and " & isHidden & ". " );
writeOutput( "It was at last modified at " & date & " and has a size of " & fileSize & " MB" );

```

Result: "testFile9217639658547923751.tmp" is readable, writable and not hidden. It was at last modified at Friday, November 3, 2017 3:58:08 PM UTC and has a size of 0.00 MB

### Additional Examples

[Run Example](https://try.boxlang.io/?code=eJxLy8xJVbBVSE8tCUnNLXAD8jRgHJfMotTkkvyiSg1NHQWllNTcfCUFTWuulNLcAg2FssQiW6A6kAbPvLR8DYU0kEFAhTmJSak5tkruCDk0XTi1oKgHABOwMQs%3D)

```java
file = getTempFile( getTempDirectory(), "demo" );
dump( var=getFileInfo( file ), label="GetFileInfo" );
dump( var=FileInfo( file ), label="FileInfo" );

```

## Related

* [ContractPath](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/contractpath)
* [CreateTempDirectory](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/createtempdirectory)
* [CreateTempFile](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/createtempfile)
* [DirectoryCopy](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/directorycopy)
* [DirectoryCreate](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/directorycreate)
* [DirectoryDelete](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/directorydelete)
* [DirectoryExists](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/directoryexists)
* [DirectoryList](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/directorylist)
* [DirectoryMove](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/directorymove)
* [DirectoryRename](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/directoryrename)
* [ExpandPath](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/expandpath)
* [FileAppend](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileappend)
* [FileClose](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileclose)
* [FileCopy](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filecopy)
* [FileDelete](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filedelete)
* [FileExists](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileexists)
* [FileGetMimeType](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filegetmimetype)
* [FileIsEOF](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileiseof)
* [FileMove](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filemove)
* [FileOpen](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileopen)
* [FileRead](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileread)
* [FileReadBinary](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filereadbinary)
* [FileReadLine](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filereadline)
* [FileSeek](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileseek)
* [FileSetAccessMode](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filesetaccessmode)
* [FileSetAttribute](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filesetattribute)
* [FileSetLastModified](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filesetlastmodified)
* [FileSkipBytes](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/fileskipbytes)
* [FileWrite](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filewrite)
* [FileWriteLine](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/filewriteline)
* [GetCanonicalPath](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/getcanonicalpath)
* [GetDirectoryFromPath](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/getdirectoryfrompath)
* [GetFileInfo](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/getfileinfo)
* [getTempFile](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/gettempfile)
* [PropertyFile](https://boxlang.ortusbooks.com/boxlang-language/reference/built-in-functions/io/propertyfile)
