2016-09-04 87 views
2

我在Assets文件夹中有data.xlsx文件,需要获取它的路径来应用一些库。如何在Xamarin中获取资产文件路径?

在这里找到了几个解决方案,但都不适合我。例如 - File Not Found Exception In Xamarin program

我试过使用file:///android_asset/data.xlsx但这里没有文件。

我检查的路径:System.IO.File.Exists(filePath);

那么如何获得此文件路径?也许我必须把它放在不同的文件夹中?

更新:可能我可以解决这样说:java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed

但我找不到在哪里把它。

更新:这个问题是关于Java,这是目前还不清楚如何使用Xamarin.Android此解决方案:How to get the android Path string to a file on Assets folder?

+0

尝试使用* file://android_asset/data.xlsx *而不是* file:///android_asset/data.xlsx * –

+0

@MiladYarmohammadi,结果相同。 – InfernumDeus

+1

请参阅http://stackoverflow.com/questions/8474821/how-to-get-the-android-path-string-to-a-file-on-assets-folder –

回答

0

看起来这是不可能的。

最接近的解决方案是将文件写入缓存。

2

看起来像文件不包含在APK。确保资产文件夹中的文件的10设置为AndroidAsset。使用Xamarin.android

+0

好点,但是,它被自动设置为AndroidAsset。 – InfernumDeus

+0

如果您通过AssetManager打开资产,您是否获得有效的流? –

+0

是的。这是有效的。 – InfernumDeus

1

在一般情况下,你可以使用此代码:

private string _fileName {get;set;} 

     public string FileFullPath 
     { 
     get 
      { 
      return Path.Combine(Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures),_fileName); 
      } 
     } 

希望它能帮助.. :)

+0

我能以某种方式引用除“Android.OS.Environment.DirectoryPictures”之外的任何其他目录吗?我的文件是输入数据,所以这听起来有点不合适。 – InfernumDeus

相关问题