我正在努力完成大学作业,但我无法弄清楚编码有什么问题。我想采取文本文件,通过它阅读并输出标题,总重量,总高度与模型计数器,所有这些都排序并写出符合分配标准的模型。它应该类似于:
名称性别体重身高眼睛颜色头发颜色
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)
{
}
}
}
}
答案 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);
}
}
}