问题标签 [streamwriter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2763 浏览

c# - C# 类库:StreamWriter 写入 system32 文件夹

我有一个部署在 ISP 服务器上的类库,供 ASP.NET Web 服务使用。我想跟踪任何错误,在这种情况下,我无法访问 Windows 事件日志。所以我想我会使用 StreamWriter 类写入一个 txt 文件。问题是如果我没有给出绝对路径而只是一个文件名,它会尝试写入 C:\Windows\System32,这对我没有好处。我如何告诉它使用数据目录或应用程序根目录?有什么想法吗?

0 投票
2 回答
824 浏览

streamwriter - 从文件中读取数据损坏

我正在从 TXT 文件中读取数据,需要我替换一些现有数据,然后将其写回文件。问题是,当我将文本写回文件时,文件中的特殊字符会损坏。

例如,我在文件“foo.txt”中有一个字符串,它具有以下“€rdrf +À [HIGH]”。我的应用程序将文本读入字符串,遍历该行并将 [HIGH] 替换为一个值,然后写回文件。问题是,特殊文本字符已损坏。

这是代码库的缩写版本:

如何在不损坏特殊文本字符的情况下从文件中读取?

谢谢杰

0 投票
3 回答
3466 浏览

c# - 表单退出时关闭 Stream Read 和 Stream Writer

大家好,这里有点麻烦。

所以我有一个加载文件的加载按钮和一个保存文件的保存按钮。我还有一个关闭程序的退出按钮。我需要帮助的是当我关闭程序时,我不会检查是否有任何未关闭的 StreamReader 或 StreamWriter 东西。

这是我目前所拥有的:在顶部,我清除了这些人

我的加载按钮看起来像这样

我的保存按钮看起来像这样

我的退出按钮看起来像这样

我试图做的是在顶部设置 bool isDirtyBoolean,然后当 Stream Reader 或 Writer 关闭时,将 bool 值设置为 true,所以当我退出应用程序时,如果它仍然设置为 false,它无论如何都会关闭它们。

但这不起作用,因为 isDirtyBoolean 值是那些私有的 void 按钮,我无法访问它们。

0 投票
1 回答
11252 浏览

c# - c#我可以用streamwriter创建一个动态文件名吗?

我试图让程序写入一个以时间戳命名的文件。基本上,将时间戳保存为字符串值,我希望它根据该时间戳创建文件。例如“飞行清单 10/14/2010 1:38:29 AM.txt”

这样做的正确方法是什么?

我试过这样的事情:

0 投票
1 回答
4136 浏览

vb.net - 独占访问文本文件,读取和覆盖它

我想打开一个文本文件,并且不允许任何其他进程写入它。我知道我可以使用以下 FileStream 做到这一点:

一旦我有这样的访问权限,我需要读取所有行(我将使用 StreamReader(fs)),然后我需要写入文件(我将使用 StreamWriter(fs))。

这里的问题是,当我使用文件流作为参数而不是文件路径时,StreamWriter 不允许我将附加模式设置为 false(这样我就可以覆盖文件中的所有文本)。因此,使用 StreamWriter 编写的所有文本都附加到我不想要的文本上。如果我使用带有文件路径的 StreamWriter(这将使我将 append 设置为 false)作为参数而不是文件流,它将因为 FileStream FileShare 而被锁定。我怎样才能仍然拥有读取和写入文件的独占访问权限,但仍然能够覆盖现有文本(附加模式为 false)?

0 投票
3 回答
1343 浏览

sockets - 从服务器读取文件的内容,然后通过套接字 C# 将其发送到客户端

我在这里尝试通过服务器发送文本文件的内容并将其发送给客户端

这是服务器

它从服务器读取的客户端部分是这个

当我运行代码时,完全没有错误,但是客户端卡住了,当我停止服务器时,文件的内容将显示,,,顺便说一句,它是一个 GUI 应用程序

0 投票
2 回答
726 浏览

c# - 流作家的基本理解

你好,

我的问题与对使用 StreamWriter 写入数据的基本理解有关。如果您考虑以下代码:

当写入器对象被初始化时,使用文件名,它所拥有的只是一个指向文件的指针。

但是,当我们将任何字符串写入 writer 对象时,它实际上是否会加载整个文件、读取其内容、将字符串附加到末尾然后关闭句柄?

我希望这不是一个愚蠢的问题。我问这个是因为,我遇到了一个应用程序,它可能每半秒频繁地写入一个文件,并且文件大小增加到大约 1 GB,并且它仍然继续写入文件。(记录)

您认为这会导致 100% 的 CPU 使用率吗?

如果我的问题不清楚,请告诉我?

提前致谢。

0 投票
2 回答
442 浏览

.net - VB.NET StreamWriter 表达式预期

过去一个小时左右我一直在看这个。谁能告诉我这有什么问题?

这是编译器错误BC30201: Expression expected.导致它的行是Dim sw行。

谢谢你的帮助。

纳鲁姆

0 投票
4 回答
4055 浏览

c# - 在不使用 using 的情况下关闭文件

我有一个类,它从一个文件流中读取数据并写入另一个文件流。我担心在 closeFiles() 中处理完成后关闭流。

您将如何处理一个流的 dispose 可能引发异常以阻止另一个流的 dispose 被调用的可能性。

我应该调用 close 并处理流还是只处理一个?

如果我从流处理中捕获任何错误,然后继续移动和删除文件,如 lastOperation() 所示,会发生什么?

在一个完美的世界中,我想在 c++ 样式初始化列表中使用 using 语句,但我很确定这在 c# 中是不可能的。

编辑:感谢你们的快速回复。所以我应该做的是从 IDisposable 派生,然后更改构造函数并添加两个这样的处理方法?:

这基本上就是我正在做的事情:

0 投票
1 回答
2309 浏览

c# - 在使用 StreamReader 并发文件访问的情况下引发异常

我发现一篇关于使用 StreamWriter 处理并发文件访问的帖子。

问题是答案并不管理正在访问文件的场景,而是多个进程。

让我们简短地告诉它:

  • 我有多个应用程序
  • 我需要数据库中的集中式日志记录系统
  • 如果数据库失败,我需要一个文件系统日志的回退

有一个已知的并发场景,多个应用程序(进程)将尝试写入该文件。这可以通过在短暂延迟后重新尝试写入来管理。但如果是安全错误或文件名语法错误,我不想重新尝试。

代码在这里:

我唯一的问题是在并发写入的情况下将引发的异常类型。我已经知道事情可以做不同的事情。让我添加一些注意事项:

  • 不,我不想在那种情况下使用 NLog
  • 是的,我使用 IOC + Mutex 处理并发以实现进程内并发
  • 是的,我真的希望所有日志都写在同一个文件中