Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

BinaryFile.Create

Creates a new file.

Component Version macOS Windows Linux Server iOS SDK
BinaryFile 7.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "BinaryFile.Create"; FilePath )   More

Parameters

Parameter Description Example
FilePath The native file path. Something like "/Users/cs/desktop/test.txt" on Mac and "C:\Programs\Data\test.txt" on Windows. Files without path end in the root directory on Mac. "test.txt"

Result

Returns reference number or error.

Description

Creates a new file.

This function requires a native path. Use Path.FileMakerPathToNativePath to convert a FileMaker path to a native path if required. If you like to have the user choose the path, you can use FileDialog functions.
For Server be aware that server has limited permissions and may not be able to access all files on a computer.

Examples

Create a file and write Hello:

Set Variable [ $fh ; Value: MBS( "BinaryFile.Create"; "/Users/cs/Desktop/test.txt" ) ]
Set Variable [ $r ; Value: MBS( "BinaryFile.WriteText"; $fh; "Hello World") ]
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $fh) ]

Split files into smaller chunks:

Set Variable [ $InputPath ; Value: "/Users/cs/Desktop/test.mp4" ]
Set Variable [ $ChunkSize ; Value: 10*1024*1024 ]
#
Set Variable [ $InputStream ; Value: MBS( "BinaryFile.Open"; $inputPath ) ]
If [ MBS("IsError") ]
    Show Custom Dialog [ "Failed to open file." ; $InputStream & ¶ & $InputPath ]
    Exit Script [ Text Result: ]
End If
Set Variable [ $InputLength ; Value: MBS( "BinaryFile.Length"; $InputStream ) ]
Set Variable [ $InputPosition ; Value: 0 ]
Set Variable [ $Counter ; Value: 1 ]
Loop
    # Read chunk
    Set Variable [ $Chunk ; Value: MBS( "BinaryFile.ReadHex"; $InputStream; $ChunkSize ) ]
    #
    # Write Chunk
    Set Variable [ $OutputPath ; Value: $InputPath & "." & $Counter ]
    Set Variable [ $OutputStream ; Value: MBS( "BinaryFile.Create"; $OutputPath ) ]
    If [ MBS("IsError") ]
        Show Custom Dialog [ "Failed to create file." ; $InputStream & ¶ & $OutputPath ]
        Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $InputStream ) ]
        Exit Script [ Text Result: ]
    End If
    Set Variable [ $r ; Value: MBS( "BinaryFile.WriteHex"; $OutputStream; $Chunk ) ]
    Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $OutputStream ) ]
    #
    # next
    Set Variable [ $InputPosition ; Value: $InputPosition + $ChunkSize ]
    Exit Loop If [ $InputPosition > $InputLength ]
    Set Variable [ $Counter ; Value: $Counter +1 ]
End Loop
#
# cleanup
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $InputStream ) ]

See also

Blog Entries

This function checks for a license.

Created 12nd June 2017, last changed 19th August 2018


BinaryFile.Close - BinaryFile.EOF