2017-02-28 90 views
2

我想讀我的共享項目中的文件讀取的文件。Xamarin共享工程

 var currentPath = Environment.CurrentDirectory; 
     var filename = Path.Combine(currentPath, "File.txt"); 
     var content = File.ReadAllText(filename); 
     return content; 

如果我在iOS中開始我的應用程序這工作正常,但在Android中我得到FileNotFound異常。

回答

0

的文件系統結構和底層API變化因平臺。 Environment.CurrentDirectory存在iOS上,但它並沒有在Android上也沒有對UWP存在,所以它有一個空值,因此將無法找到該文件。

由於文件系統是平臺之間如此不同,建議你抽象的環境級別的文件訪問代碼平臺的具體項目,而不是共享的 - 儘管你可以把它與編譯器指令工作。

#if __ANDROID__ 
var currentPath = Environment.DataDirectory; 
#endif 

或者,您也可以嘗試讓從Directory.GetCurrentDirectory();方法將當前目錄(在System.IO命名空間)

+0

沒有可用 – Korken55

+0

Environment.Datadirectory這就是Android相關,這可能是爲什麼。你可以嘗試'Directory.GetCurrentDirectory()?' – blas3nik

+0

我仍然得到FilenotFoundException – Korken55