首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文件拆分中缺少行

文件拆分中缺少行
EN

Stack Overflow用户
提问于 2017-01-04 00:48:44
回答 0查看 124关注 0票数 0

我正在写一个程序,它将一个CSV文件拆分为四个几乎相等的部分。

我以一个2000行的CSV输入文件为例,在查看输出文件时,第一个文件中缺少行,还有一些不完整的行,这没有任何意义,因为我是逐行编写的。代码如下:

代码语言:javascript
复制
using System.IO;
using System;
class MainClass {
  public static void Main(string[] args){

    string line; 
    int linesNumber = 0, linesEach = 0, cont = 0;

    StreamReader r = new StreamReader("in.csv");
    StreamWriter w1 = new StreamWriter("out-1.csv");
    StreamWriter w2 = new StreamWriter("out-2.csv");
    StreamWriter w3 = new StreamWriter("out-3.csv");
    StreamWriter w4 = new StreamWriter("out-4.csv");

    while((line = r.ReadLine()) != null)
      ++linesNumber;

    linesEach = linesNumber / 4;

    r.DiscardBufferedData();
    r.BaseStream.Seek(0, SeekOrigin.Begin);
    r.BaseStream.Position = 0;

    while((line = r.ReadLine()) != null){
      ++cont;
      if(cont == 1){
        //fisrt line must be skipped
        continue;
      }
      if(cont < linesEach){
        Console.WriteLine(line);
        w1.WriteLine(line);
      }
      else if(cont < (linesEach*2)){
        w2.WriteLine(line);
      }
      else if(cont < (linesEach*3)){
        w3.WriteLine(line);
      }
      else{
        w4.WriteLine(line);
      }
    }
  }
}

为什么写作部分做错了?我怎么才能修复它?

感谢大家的帮助。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41448385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档