Aus Sicherheitsgründen, Universal Windows-Anwendungen nur den Zugriff auf bestimmte Arten von Dateien auf externen Laufwerken haben,
Und Sie haben ausdrücklich auf Deklarieren Sie es in der Package.appxmanifest-Datei.
- Musikbibliothek
- Picture Library
- Video Library
Sie mögen vielleicht auch als auch die Wechselfähigkeit überprüfen.
Ich glaube nicht, dass Sie Zugriff auf ein allgemeines Dateiformat mit Ausnahme der oben genannten drei Typen haben, sonst erhalten Sie eine Ausnahme "Zugriff verweigert".
Weitere Details finden Sie unter here.
Sobald Sie Ihre Fähigkeiten erklären, können Sie den Stammordner für Ihr externes Speichergerät mit dem folgenden Code erhalten,
var removableDevices = KnownFolders.RemovableDevices;
var externalDrives = await removableDevices.GetFoldersAsync();
var drive0 = externalDrives[0];
Dann können Sie die Stream-Methoden verwenden, um eine Datei zu schreiben, nach dem Code Proben in here.
Wenn Sie Daten in ein generisches Dateiformat schreiben möchten, können Sie ein barrierefreies Dateiformat (wie jpg) verwenden und Ihre Rohdaten dorthin schreiben. Unten finden Sie ein Codebeispiel, das auf dem Raspberry Pi 2 Modell B mit Windows IoT 14393 verifiziert ist, wobei ein externes USB-Laufwerk an den USB-Anschluss angeschlossen ist.
private async void WriteData()
{
var removableDevices = KnownFolders.RemovableDevices;
var externalDrives = await removableDevices.GetFoldersAsync();
var drive0 = externalDrives[0];
var testFolder = await drive0.CreateFolderAsync("Test");
var testFile = await testFolder.CreateFileAsync("Test.jpg");
var byteArray = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
using (var sourceStream = new MemoryStream(byteArray).AsRandomAccessStream())
{
using (var destinationStream = (await testFile.OpenAsync(FileAccessMode.ReadWrite)).GetOutputStreamAt(0))
{
await RandomAccessStream.CopyAndCloseAsync(sourceStream, destinationStream);
}
}
}
Einige Codebeispiel wäre hilfreich für die Problembehandlung. – Jackie