LabVIEWForum.de
Dateien lesen und schreiben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Dateien lesen und schreiben (/Thread-Dateien-lesen-und-schreiben)



Dateien lesen und schreiben - stoa - 17.03.2020 11:05

Hallo zusammen,

heute habe ich eine Frage, die ich mir nicht selbst beantworten kann. Ich weiß nicht, wie ich danach suchen sollte, aber mich wurmt unablässig, dass das nicht funktioniert und ich hoffe mir kann jemand Nachhilfe darin geben.

Kurz gefasst: Mein VI liest eine Datei als Text und schreibt diesen Textstrom wieder als Text in eine neu erstellte Datei. Die Dateien sollten sich dann nur im Namen unterscheiden, doch der Inhalt sollte gleich sein. Mein VI anbei zeigt, dass das so nicht funktioniert. Verfährt man so wie zuvor beschrieben mit einer .PNG-Datei, lässt sich diese beispielsweise nicht mehr öffnen. Eine Vermutung ist, dass die LabVIEW-Funktionen zum Lesen und Schreiben zum Beispiel Metadaten zu den Dateien ignorieren, aber genau weiß ich es nicht.

Dies ist natürlich eine grundsätzliche Verständnisfrage. Ich möchte wissen, warum das nicht funktioniert und ich möchte wissen, ob es eine Möglichkeit gibt, diese Datenströme gleichwertig zu lesen und zu schreiben.

mit Gruß
stoa


RE: Dateien lesen und schreiben - GerdW - 17.03.2020 11:20

Hallo stoa,

Zitat:Mein VI liest eine Datei als Text und schreibt diesen Textstrom wieder als Text in eine neu erstellte Datei. Die Dateien sollten sich dann nur im Namen unterscheiden, doch der Inhalt sollte gleich sein. Mein VI anbei zeigt, dass das so nicht funktioniert.
Leider hast du das VI vergessen…

Zitat:Verfährt man so wie zuvor beschrieben mit einer .PNG-Datei, lässt sich diese beispielsweise nicht mehr öffnen. Eine Vermutung ist, dass die LabVIEW-Funktionen zum Lesen und Schreiben zum Beispiel Metadaten zu den Dateien ignorieren, aber genau weiß ich es nicht.
Wenn du etwas "genau" wissen willst, solltest du die LabVIEW-Hilfe zur Funktion lesen!

Hast du die Hilfe zu Read/WriteTextFile gelesen? Zu allen Optionen dieser Funktionen?
Und dann so eingestellt, dass diese Textfunktionen sich NICHT an den Zeilenende-Zeichen zu schaffen machen???

Tipp: wenn du "Binärdaten" bearbeiten willst, solltest du keine Text-Funktionen verwenden, sondern die Read/WriteBinaryFile-Funktionen!


RE: Dateien lesen und schreiben - stoa - 17.03.2020 11:35

Hallo GerdW,

danke für deine schnelle Antwort. Das mit dem Anhängen von Dateien ist mir schonmal passiert; neben dem Auswählen der Datei muss man diese auch explizit hinzufügen; das habe ich vergessen.

Ja, die Konvertierung der Steuerzeichen zu deaktivieren hat etwas gebracht. Jetzt funktioniert es mit .BMP und .PNG... andererseits dürfte es doch keinen Unterschied machen, solange beim Schreiben der Steuerzeichen ebenfalls die Konvertierung stattfindet, oder?

Binär zu lesen und zu schreiben funktioniert leider immernoch nicht.

Die LabVIEW-Hilfe ist wirklich gut und ich lese gerne darin. Alle Fragen kann sie mir jedoch nicht beantworten.

mit Gruß
stoa


RE: Dateien lesen und schreiben - GerdW - 17.03.2020 11:43

Hallo stoa,

Zitat:Ja, die Konvertierung der Steuerzeichen zu deaktivieren hat etwas gebracht. Jetzt funktioniert es mit .BMP und .PNG... andererseits dürfte es doch keinen Unterschied machen, solange beim Schreiben der Steuerzeichen ebenfalls die Konvertierung stattfindet, oder?
Doch, es macht einen Unterschied wenn die Konvertierung aktiv ist: es wird dann alles konvertiert, was nicht zum aktuellen OS passt. Wenn du also irgendeine Kombination von LF/CR in deinen Dateien hast, werden die alle nach z.B. CRLF umgewandelt. Und das mögen Binärdateien wie BMP/PNG/JPG überhaupt nicht!

Zitat:Binär zu lesen und zu schreiben funktioniert leider immernoch nicht.
Auch für diese Behauptung wäre ein BeispielVI schön gewesen…


RE: Dateien lesen und schreiben - stoa - 17.03.2020 11:50

Hallo GerdW,

ah, jetzt verstehe ich das richtig mit der Konvertierung. Wenn LabVIEW etwas als Text interpretiert und auf eine Zeichen-Kombination stößt, die bei anderen Betriebssystemen eine Bedeutung haben, dann konvertiert er dies windowskompatibel. Beim Schreiben konvertiert LabVIEW dann nicht einfach irgendwie zurück. Das macht Sinn.

Meinen ersten Beitrag habe ich dahingehend editiert, dass da jetzt das VI heruntergeladen werden kann. Dort wird sowohl als Text als auch binär gelesen und geschrieben.

mit Gruß
stoa