KDE Input/Output
# KDE Input/Output

KDE Input/Output (KIO) stellt ein asynchrones virtuelles Dateisystem dar. Virtuell bedeutet, dass dem Datennutzer (Client) eine einheitliche Programmierschnittstelle (API) angeboten wird, egal, mit welcher Methode tatsächlich auf die Daten zugegriffen wird. Für jede dieser Methoden, das sind Kommunikationsprotokolle wie HTTP, FTP, SSH, WebDAV, POP3, IMAP, Bluetooth und vielen weitere, steht ein spezifischer KIO-Slave zur Verfügung, der die erforderliche Protokollumsetzung zur einheitlichen Schnittstelle durchführt. Auch verschiedene Archivarten wie tar, cpio und zip sowie unterschiedliche lokale Quellen (Audio-CD, USB-Stick, …) können so gehandhabt werden.

## Zweck

Die Grundidee dieses Konzeptes ist, dass für die Handhabung jedes neu dazukommenden Protokolls für dessen Verwendung kein separater neuer Client zu schreiben ist, der es beherrscht. Durch das Kio-Slave-Konzept genügt es, einen weiteren Kio-Slave zu entwickeln und anzumelden. Dieser stellt dann über das virtuelle Dateisystem einen einheitlichen Dateizugriff für KDE-Anwendungen bereit, ohne dass diese etwas über die eigentliche Funktionsweise wissen müssen. Konqueror, Dolphin und andere KDE-Programme können im Zusammenspiel über diese API zum Beispiel auf Netzwerkfreigaben oder Geräte (Bluetooth), … zugreifen, ohne einen Unterschied zu den üblichen Dateien berücksichtigen oder diesen kennen zu müssen. Für die Benutzer ergeben sich dadurch oftmals effiziente und bequemere Möglichkeiten, als dieselben, meist komplexen, Arbeiten zum Beispiel über die Konsole zu erledigen.

## Anwendungsbeispiele

Konvertieren der Stücke einer Audio-CD in Ogg Vorbis

Mit Konqueror in einem Unterfenster die Pseudo-URI audiocd:/ eingeben. Danach sieht man den Inhalt der Audio-CD. Es gibt ein Unterverzeichnis Ogg/, dessen Inhalt kopiert man einfach in ein Verzeichnis auf der Festplatte. Der Audio-CD KIO-Slave erledigt die Konvertierung automatisch während des Kopierens. Analog funktioniert dies auch fürs Konvertieren in WAV oder andere Containerformate / Dateiformate.

