我写了一个输出文本文件的类。它工作得很好,完成了工作。但是我做了同样的过程,它没有工作(文件没有创建)。我觉得我错过了一些非常简单的东西 - 我错过了什么?
工作代码(在主方法中):
static void Main(string[] args)
{
Kinematics hello = new Kinematics();
System.IO.StreamWriter file = new System.IO.StreamWriter
("C:/Users/myName/Documents/GoogleDrive/folder/folder/Level 3.txt");
file.WriteLine("Time(s)\tPosition(m)\tVelocity(m/s)\tAcceleration(m/s^2)");
//create a file to print stuff in.
file.Close();
//close the file.
}
不工作代码:
class Program
{
static void Main(string[] args)
{
System.IO.StreamWriter file = new System.IO.StreamWriter
("C:/Users/myName/Documents/GoogleDrive/folder/folder/hellooo.txt");
file.WriteLine("Time(s)\tPosition(m)\tVelocity(m/s)\tAcceleration(m/s^2)");
Projectile ballProjectile = new Projectile();
ballProjectile.Level1(file);
ballProjectile.Level2(file);
ballProjectile.Level3(file);
file.Close();
}
}
文件路径完全相同且都是正确的,我已经仔细检查过我在文件的正确位置查看过。
运动学做了一些计算,我使用file.WriteLine();
来写出方法的输出。所有的写作都是在main方法中完成的。 Level1,Level2,Level3方法截至目前为空方法。稍后他们将运行file.WriteLine();
方法。
答案 0 :(得分:0)
将file.Close()
移至
Projectile ballProjectile = new Projectile();
ballProjectile.Level1(file);
ballProjectile.Level2(file);
ballProjectile.Level3(file);
另外,正如评论中所建议的那样,StreamWriter是一次性的,所以你应该这样做:
var file = new System.IO.StreamWriter(@"C:/Users/myName/Documents/GoogleDrive/folder/folder/hellooo.txt")
using (file)
{
file.WriteLine("Time(s)\tPosition(m)\tVelocity(m/s)\tAcceleration(m/s^2)");
}
请注意文件路径开头的@
。