FreeBasic Close Keyword
last modified June 16, 2025
The FreeBasic Close keyword is used to close open files and free
system resources. It's an essential part of proper file handling in FreeBasic.
Files should always be closed when no longer needed.
Basic Definition
In FreeBasic, Close is a statement that terminates access to a
previously opened file. It ensures all buffered data is written and releases
the file handle back to the operating system.
The Close statement can work with a specific file number or close
all open files when used without parameters. Proper file closing prevents data
loss and resource leaks.
Closing a Single File
This example demonstrates basic file operations with explicit closing.
Dim fileNum As Integer = FreeFile() Open "data.txt" For Output As #fileNum Print #fileNum, "Hello, FreeBasic!" Close #fileNum Print "File written and closed successfully"
Here we open a file for writing, write some text, then explicitly close it
using the file number. The FreeFile function gets an available
file number. Always closing files is a good programming practice.
Closing All Open Files
The Close statement can close all open files at once.
Open "file1.txt" For Output As #1 Open "file2.txt" For Output As #2 Open "file3.txt" For Output As #3 Print #1, "File 1 content" Print #2, "File 2 content" Print #3, "File 3 content" Close ' Closes all open files Print "All files closed"
This example opens three files and writes to each. The parameterless
Close statement closes all open files simultaneously. This is
useful when you need to ensure all files are properly closed.
Close in Error Handling
Files should be closed even when errors occur during file operations.
Dim fileNum As Integer = FreeFile()
On Error Goto ErrorHandler
Open "data.txt" For Input As #fileNum
Dim content As String
Line Input #fileNum, content
Print "File content: "; content
ErrorHandler:
If Err Then
Print "Error: "; Error(Err)
If fileNum Then Close #fileNum
End
End If
Close #fileNum
This example shows proper file closing in an error handler. The file is closed
whether an error occurs or not. The If fileNum check prevents
errors if the file wasn't successfully opened before the error occurred.
Close with Binary Files
Binary files also need to be properly closed after operations.
Dim fileNum As Integer = FreeFile() Dim buffer(0 To 99) As Byte Open "data.bin" For Binary As #fileNum Get #fileNum, , buffer() Close #fileNum Print "Read "; UBound(buffer) + 1; " bytes from binary file"
This code demonstrates reading from a binary file and closing it. Binary files
handle raw data and require the same careful resource management as text files.
The Close statement works identically for all file types.
Close in File Copy Operation
File copying requires proper handling of both source and destination files.
Dim srcFile As Integer = FreeFile()
Dim dstFile As Integer = FreeFile() + 1
Dim line As String
Open "source.txt" For Input As #srcFile
Open "destination.txt" For Output As #dstFile
While Not EOF(srcFile)
Line Input #srcFile, line
Print #dstFile, line
Wend
Close #srcFile
Close #dstFile
Print "File copied successfully"
This example copies a file line by line. Both files are explicitly closed after the operation. Notice we use different file numbers for source and destination. Always close all files when done with them.
Close with Random Access Files
Random access files also need proper closing after use.
Type Person
name As String * 20
age As Integer
End Type
Dim p As Person
Dim fileNum As Integer = FreeFile()
Open "people.dat" For Random As #fileNum Len = Len(p)
p.name = "John Doe"
p.age = 30
Put #fileNum, 1, p
Close #fileNum
Print "Record written and file closed"
This example writes a record to a random access file and closes it. Random
access files allow reading/writing at specific positions. The Close
statement works the same way as with other file types.
Close in File Appending
Appending to files also requires proper closing.
Dim fileNum As Integer = FreeFile() Open "log.txt" For Append As #fileNum Print #fileNum, "New log entry: "; Time Close #fileNum Print "Log entry appended and file closed"
This example demonstrates appending to a file and closing it. Append mode
automatically seeks to the end of file before writing. The Close
ensures the new content is properly saved to disk.
Best Practices
- Always close: Close files as soon as you're done with them.
- Error handling: Include file closing in error handlers.
- Multiple files: Close files in reverse order of opening.
- Resource management: Consider using scoped file objects.
- Verification: Check file operations succeeded before closing.
This tutorial covered the FreeBasic Close keyword with practical
examples showing its usage in different file handling scenarios.
Author
List all FreeBasic Tutorials.