Усеченный файл CSV в C # - PullRequest
       18

Усеченный файл CSV в C #

1 голос
/ 02 декабря 2010

У меня есть файл CSV с 48 строками целых чисел. Я использую функцию openfiledialog в Visual C #, чтобы позволить пользователю выбрать этот файл. Затем я хочу, чтобы программа усекала этот файл до 24 строк. Есть ли функция усечения, которую я могу использовать, чтобы сделать это легко? Если нет, то как я могу это сделать? Ниже то, что я имею до сих пор ...

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace sts_converter
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void select_Click(object sender, EventArgs e)
        {
            int size = -1;
            DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.
            if (result == DialogResult.OK) // Test result.
            {
                string file = openFileDialog1.FileName;
                try
                {
                    string text = File.ReadAllText(file);
                    size = text.Length;
                }
                catch (IOException)
                {
                }
            }
            Console.WriteLine(size); // <-- Shows file size in debugging mode.
            Console.WriteLine(result); // <-- For debugging use only.
        }

    }
}

Ответы [ 2 ]

5 голосов
/ 02 декабря 2010

Это может быть так же просто, как:

string file = openFileDialog1.FileName;
File.WriteAllLines(
    file, 
    File.ReadLines(file).Take(28).ToArray()
);
1 голос
/ 02 декабря 2010
  • Вызовите ReadAllLines, чтобы получить массив из 48 строк
  • Создайте новый массив из 24 строк
  • Используйте Array.Copy, чтобы скопировать нужные строки
  • Вызовите WriteAllLines, чтобы записать новый массив в файл

(Вы также можете использовать метод LINQ Take)

...