-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfilesystem.mjs
More file actions
113 lines (92 loc) · 2.66 KB
/
filesystem.mjs
File metadata and controls
113 lines (92 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/** File System
*
* @package Webapplication
* @module Data
* @author Michael <michael.reichart@gfu.net>
* @version v1.0.0
* @since 2024-09-11
* @see i.e. inspired by ... {link to}
* @license MIT {https://opensource.org/licenses/MIT}
* @copyright (c) 2024 Michael Reichart, Cologne
*/
import { error } from "console";
import fs from "fs";
import path from "path";
// Datei lesen
const file = path.join("./static/assets/data/", "data.csv");
fs.readFile(file, "utf-8", (error, buffer) => {
// if (error) throw error;
console.log(buffer); // Eigentlich Hex-formatierter Buffer
console.log(buffer.toString()); // Konvertierung in String
let csv = buffer.toString();
let lines = csv.split("\n");
const keys = [];
const data = [];
// CSV nach Array konvertieren
lines.forEach((line, index) => {
if (index === 0) {
// Erste Zeile als Feldnamen auslesen
keys.push(line.split(","));
} else {
// die anderen Zeilen als Daten auslesen
data.push(line.split(","));
}
});
console.log(keys);
console.log(data);
});
// Datei schreiben
const writeFile = () => {
// file handle mit append-Flag (a, w)
fs.open("./static/assets/data/log.txt", "a", (error, fileHandle) => {
if (error) throw error;
let date = new Date().toLocaleString();
let message = "lorem ipsum dolor sit ...";
let line = `${date}: ${message}\n`;
let buffer = Buffer.from(line);
// Schreiben der Daten auf den Datenträger
fs.write(fileHandle, buffer, 0, buffer.length, null, (error) => {
if (error) throw error;
console.log("Daten geschrieben");
// Schließen des Filehandles
fs.close(fileHandle, (error) => {
if (error) throw error;
console.log("File geschlossen");
});
});
});
};
setInterval(writeFile, 10000);
// Beobachten von Dateien
fs.watch("./static/assets/data/log.txt", (event, filename) => {
console.log("- - -\n", event, filename, "\n- - -");
});
// Beobachten von Verzeichnissen
fs.watch("./static/", (event, filename) => {
console.log("- - -\n", event, filename, "\n- - -");
});
/*
const fn = function () {
let sum;
try {
sum = add(3, 4);
return sum;
} catch (error) {
// Protokollierung!
return error.status;
}
};
const outerFn = function () {
let result;
try {
result = fn();
if (result === 7) {
return result;
} else {
throw("Fehler in fn");
}
} catch (error) {
throw("Fehler in outerFn");
}
};
*/