Soru & Cevap

Dosyanın satır sayısını bulmak

04.12.2013 - 06:31

Elimde bir txt dosyası var. Bu dosyanın satır sayısını bulmak istiyorum. Masaüstü uygulamalarında şu şekilde yapabiliyorum:

var lineCount = File.ReadLines(@"abc.txt").Count(); lineCount bana satır sayısını veriyor. Ancak sorun şu ki bu fonksiyonu windows phone uygulamalarında çalıştıramıyorum. Bunun gibi text dosyasının satır sayısını bulabileceğim bir fonksiyon var mı windows phoneda?

  

953 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-483-1374012946.jpg
kerem.kusmezer
05.12.2013 - 11:13

Dosya boyutu çok büyük olduğunda out of memory almamak için,

[code]public static class File

    {
    public static int ReadAllLinesAsync(string filename)
        {
        String content;
        using (var reader = new StreamReader(filename))
            {
            String line = "";
            int lineCount = 0;
            while((line = reader.ReadLine()) != null)
                {
                lineCount++;
                }
                return lineCount;
                }
            }
        }[/code]

picture-472-1375079047.jpg
mehmet.altiparmak
04.12.2013 - 06:55

Merhaba Ömer,

Gördüğüm kadarıyla tek satırda yapabileceğin bir fonksiyon bulunmuyor. Ancak kendi oluşturduğun bir Utility sınıfına ekleyebilirsin buna benzer bir fonksiyon. Hatta ismini de aynı yapabilirsin :) 

[code]

public static class File
    {
        public async static Task<string[]> ReadAllLinesAsync(string filename)
        {
            String content;
            using (var reader = new StreamReader(filename))
            {
                content = await reader.ReadToEndAsync();
            }
            return content.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
        }
    }

[/code]

[code]

int count = (await File.ReadAllLinesAsync("Assets/test.txt")).Length;

[/code]