Как создать файловый поток в Xamarin(C#)?

257
30 сентября 2017, 19:44

Нужно открыть поток для чтения бинарного файла, но выдаёт ошибку.Я делал десктопное приложение, а нужно на мобильное. Подскажите пожалуйста, я новичок в этом деле.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Xamarin.Forms;
    using System.IO;
namespace Test_PD
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();

        double[] normal = new double[3];
        double[] vertex1 = new double[3];
        double[] vertex2 = new double[3];
        double[] vertex3 = new double[3];
        ushort count;
        double sum = 0;
        byte[] header = new byte[80];
            using (BinaryReader reader = new BinaryReader(File.Open("file.stl", FileMode.Open)))
            {
                FileStream file1 = new FileStream("test.txt", FileMode.Create);[![введите сюда описание изображения][1]][1]
                StreamWriter writer = new StreamWriter(file1);
                reader.BaseStream.Seek(84,SeekOrigin.Begin);
                while(reader.BaseStream.Position != reader.BaseStream.Length)
                {
                        for (int i = 0; i< 3; i++) normal[i] = reader.ReadSingle();
                        for (int i = 0; i< 3; i++) vertex1[i] = reader.ReadSingle();
                        for (int i = 0; i< 3; i++) vertex2[i] = reader.ReadSingle();
                        for (int i = 0; i< 3; i++) vertex3[i] = reader.ReadSingle();
                        count = reader.ReadUInt16();
                        sum = sum + ((((-1) * vertex3[0] * vertex2[1] * vertex1[2]) + vertex2[0] * vertex3[1] * vertex1[2] + vertex3[0] * vertex1[1] * vertex2[2] - vertex1[0] * vertex3[1] * vertex2[2] - vertex2[0] * vertex1[1] * vertex3[2] + vertex1[0] * vertex2[1] * vertex3[2]) / 6);
                        writer.WriteLine("  facet normal " + normal[0] + " " + normal[1] + " " + normal[2]);
                        writer.WriteLine("    outer loop");
                        writer.WriteLine("      vertex " + vertex1[0] + " " + vertex1[1] + " " + vertex1[2]);
                        writer.WriteLine("      vertex " + vertex2[0] + " " + vertex2[1] + " " + vertex2[2]);
                        writer.WriteLine("      vertex " + vertex3[0] + " " + vertex3[1] + " " + vertex3[2]);
                        writer.WriteLine("    endloop");
                        writer.WriteLine("  endfacet");
                }
                sum = sum / 1000;
            }
        }
    }
}
READ ALSO
Мультиязычность ASP.NET MVC

Мультиязычность ASP.NET MVC

Как лучше сделать многоязычность в приложении? На данный момент использую файлы ресурсов и там перевожу нужные мне слова на разные языки,...

228
Как подключиться к api telegram на C#?

Как подключиться к api telegram на C#?

Как подключиться, читать и писать сообщения в телеграме, но через свою программу, только используя телеграм api?

216
Как не забыть js? [требует правки]

Как не забыть js? [требует правки]

Я вот недавно учил js и различные его проявления ,и вот теперь решил усиленно учить c# , вопрос, как не забывать при этом уже выученное по js, не путаться...

211
Java методы, сокращенные до выражений

Java методы, сокращенные до выражений

В C#, начиная с версии 60, метод, который только возвращает значение:

260