StreamWriter没有创建文件?

时间:2016-01-24 18:50:06

标签: c# streamwriter

我写了一个输出文本文件的类。它工作得很好,完成了工作。但是我做了同样的过程,它没有工作(文件没有创建)。我觉得我错过了一些非常简单的东西 - 我错过了什么?

工作代码(在主方法中):

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();方法。

1 个答案:

答案 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)");
}

请注意文件路径开头的@