无论如何,都不会通过文本阅读然后写C#

时间:2017-05-11 20:43:52

标签: c#

我正在努力完成大学作业,但我无法弄清楚编码有什么问题。我想采取文本文件,通过它阅读并输出标题,总重量,总高度与模型计数器,所有这些都排序并写出符合分配标准的模型。它应该类似于:

名称性别体重身高眼睛颜色头发颜色

Jane Doe F 135 5'8 Blue Blonde

总重量:135磅

总高度:5'8

模特:1

这是我到目前为止所写的内容,但它甚至不会写出标题。我也写了很多方法,我甚至采用了教授的代码并进行了调整。我使用VisualStudio在MacOS上编码。

using System;
using System.IO;

namespace ModelRoster
{
    class Program
    {
        static void Main()
        {

            StreamReader sr = new StreamReader(@"/Users/jennie/Desktop/Computer Programming/Assignment 4/Models.txt");
            StreamWriter sw = new StreamWriter(@"/Users/jennie/Desktop/Computer Programming/Assignment 4/Payroll.txt");
            string line;

            //input
            string Name;
            int Weight;
            int Height;
            char Eyes = new char();
            char Hair = new char();
            char Gender = new char();

            int TotalW = 0;
            int TotalH = 0;
            int Mdls = 0;

            //misc
            int MWidth = 5;
            int MLength = 0;
            string Title;
            int End = 0;

            //heading
            Title = ("Name\t\tGender\t\tWeight\t\tHeight\t\tEye Color\t\tHair Color");
            MLength = Title.Length;
            End = (MWidth - MLength) / 2 + MLength;
            sw.WriteLine(Title.PadLeft(End));
            //
            sw.WriteLine(" ");

            //output
            while ((line = sr.ReadLine()) != null)
            {

            }
        }
    }
}

3 个答案:

答案 0 :(得分:4)

使用块包裹您的流以确保它们在您完成后关闭。这还将确保在关闭时刷新任何打开的流编写器。

using(StreamReader sr = new StreamReader(@"/Users/jennie/Desktop/Computer Programming/Assignment 4/Models.txt"))
using(StreamWriter sw = new StreamWriter(@"/Users/jennie/Desktop/Computer Programming/Assignment 4/Payroll.txt"))
{
  // your code here
}

答案 1 :(得分:0)

使用像Igor comentes一样包装,或者将所有文本读入变量,然后使用另一个文本写入文件。

始终建议使用using foro以确保正确的行为。

答案 2 :(得分:0)

对你来说只是向正确的方向微调:

    using (StreamWriter sw = new StreamWriter(@"D:\CYA\TestDuece.txt"))
    {
        sw.WriteLine("Name\t\tGender\t\tWeight\t\tHeight\t\tEye Color\t\tHair Color");
        using (StreamReader sr = new StreamReader(@"D:\CYA\Test.txt"))
        {
            string stringy;
            while ((stringy = sr.ReadLine()) != null)
            {
                sw.WriteLine(stringy);
            }  
        }
    }