Невозможно неявно преобразовать тип «System.IO.Stream» в «Java.IO.InputStream»

Я упомянул некоторые аналогичные вопросы о SO, но ни один из них не связан с IO .

Я использовал тот же код в java, когда использовал Eclipse . Тогда это сработало.

Но теперь я пытаюсь использовать этот код в Mono for Android (C #), он не работает.

Я пытаюсь запустить этот код для создания InputStream :

 InputStream myInput =ctx.Assets.Open(DATABASE_NAME + ".db"); 

Но это дает мне ошибку времени компиляции: Cannot implicitly convert type 'System.IO.Stream' to 'Java.IO.InputStream'

Существует прямая функция для копирования файла из активов в память устройства, но для этого требуется исходный и конечный путь.

Как получить исходный путь ???

Как я абсолютно новичок в Mono for Android , любая помощь ценится.

Mono for Android переводит некоторые Java-конструкции в «эквивалентные» .NET-конструкции, чтобы упростить обмен кодами между платформами .NET. Как часть этого, java.io.InputStream и java.io.OutputStream сопоставляются с System.IO.Stream , следовательно, ошибки компилятора.

Есть ли что-то, что вам нужно, которое существует в InputStream , которого нет в System.IO.Stream ?

Существует прямая функция для копирования файла из активов в память устройства, но для этого требуется исходный и конечный путь.

Я понятия не имею, какой метод InputStream вы здесь имеете в виду. Вы можете использовать Stream.CopyTo(Stream) для этого:

 Stream asset = context.Assets.Open(DATABASE_NAME + ".db"); string dbPath = System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "YourFile.xml"); using (var dest = System.IO.File.OpenWrite(destPath)) asset.CopyTo(dest); 
Intereting Posts