流编写器未创建文件
本文关键字:创建 文件 | 更新日期: 2023-09-27 18:31:37
我写了一个输出文本文件的类。它工作得很好,它完成了工作。但是我做了同样的过程,但它不起作用(文件未创建)。我觉得我错过了一些非常简单的东西——我错过了什么?
工作代码(在主方法中):
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();
写出方法的输出。所有的写作都是在主方法中完成的。截至目前,Level1、Level2、Level3 方法都是空方法。稍后他们将运行file.WriteLine();
方法。
将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)");
}
请注意文件路径开头的@
。