Skip to content

File Operations

LeonBasic provides functions for basic file operations, including reading, writing, and appending to files.

1. File Writing

require("basic");
var(file) = basic.open("test.txt", "write");
basic.write(file, "Hello, world!");
basic.close(file);

2. File Reading

require("basic");
var(file) = basic.open("test.txt", "read");
var(content) = basic.read(file);
basic.print(content);
basic.close(file);

3. File Appending

require("basic");
var(file) = basic.open("test.txt", "append");
basic.write(file, " Append content");
basic.close(file);

4. File Open Modes

LeonBasic supports the following file open modes:

  • "read" - Open file for reading
  • "write" - Open file for writing (overwrites existing content)
  • "append" - Open file for appending (adds to existing content)

5. Error Handling in File Operations

It's good practice to handle potential errors when working with files:

require("basic");
try {
    var(file) = basic.open("nonexistent.txt", "read");
    var(content) = basic.read(file);
    basic.print(content);
    basic.close(file);
} catch(error) {
    basic.print(string:"Error: " + error);
}

6. Working with File Paths

require("basic");

// Using absolute path
var(file) = basic.open("C:\\Projects\\test.txt", "write");
basic.write(file, "Content with absolute path");
basic.close(file);

// Using relative path
var(file2) = basic.open(".\\data\\info.txt", "write");
basic.write(file2, "Content with relative path");
basic.close(file2);

7. Reading Line by Line

While LeonBasic doesn't have a built-in function for reading line by line, you can split the content by newline characters:

require("basic");

// This is a simplified example that assumes the file exists
var(file) = basic.open("test.txt", "read");
var(content) = basic.read(file);
basic.close(file);

// Note: This is just conceptual - actual implementation would require string splitting functionality
// which may need to be implemented based on LeonBasic's capabilities