Michael Esteves
Michael Esteves

Reputation: 1485

FileInputStream to Json in Xamarin Android

I have a FileInputStream which is coming in from an Android Intent

    var parcelFileDescriptor = this.ContentResolver.OpenFileDescriptor(extras, "r");
    var fileInputStream = new FileInputStream(parcelFileDescriptor.FileDescriptor);

I know the resulting file is a json file, how do I go from FileInputStream to Json? I assume I need to go from FileInputStream to Stream and then to Json but not sure how to do that

Thanks

Upvotes: 1

Views: 241

Answers (1)

Michael Esteves
Michael Esteves

Reputation: 1485

How I ended up solving it

      var parcelFileDescriptor = this.ContentResolver.OpenFileDescriptor(extras, "r");
      var fileInputStream = new FileInputStream(parcelFileDescriptor.FileDescriptor);

      StringBuffer fileContent = new StringBuffer("");

      byte[] buffer = new byte[1024];
      int n;

      while ((n = fileInputStream.Read(buffer)) != -1)
      {
        fileContent.Append(new String(buffer, 0, n));
      }

      var result = Newtonsoft.Json.JsonConvert.DeserializeObject(fileContent.ToString());

Upvotes: 1

Related Questions