Marco Bambini 4 lat temu
rodzic
commit
32b7e5db00
1 zmienionych plików z 62 dodań i 0 usunięć
  1. 62 0
      docs/File.md

+ 62 - 0
docs/File.md

@@ -0,0 +1,62 @@
+## File
+File is a class to add I/O capabilities to Gravity.
+
+### Example 1
+```swift
+func main() {
+  var target_file = "FULL_PATH_TO_A_TEXT_FILE_HERE";
+  var target_folder = "FULL_PATH_TO_A_FOLDER_HERE";
+
+  // FILE TEST
+  var size = File.size(target_file);
+  var exists = File.exists(target_file);
+  var is_dir = File.is_directory(target_file);
+  var data = File.read(target_file);
+	 
+  System.print("File: " + target_file);
+  System.print("Size: " + size);
+  System.print("Exists: " + exists);
+  System.print("Is Directory: " + is_dir);
+  System.print("Data: " + data);
+	 
+  // FOLDER TEST
+  func closure (file_name, full_path, is_directory) {
+    if (is_directory) {
+      System.print("+ \(file_name)");
+    } else {
+      System.print("    \(file_name)");
+    }
+  }
+	 
+  var recursive = true;
+  var n = File.directory_scan(target_folder, recursive, closure);
+	 
+  // return the number of file processed
+  return n;
+}
+```
+
+### Example 2
+```swift
+func main() {
+  var target_file = "FULL_PATH_TO_A_TEXT_FILE_HERE";
+
+  // WRITE TEST
+  // 2nd argument to open is the same as the mode argument to the fopen function
+  // https://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html
+  var f = File.open(target_file, "w+");
+
+  f.write("This is the first line\n");
+  f.write("This is the second line\n");
+  f.write("This is the third line\n");
+
+  f.close();
+
+  // READ TEST
+  f = File.open(target_file, "r");
+  var data = f.read(40);
+  f.close();
+
+  return data;
+}
+```