1

我正在使用FtpWebRequest将数据附加到大型机文件。附加的每条记录有 50 个字符长,我一次添加一条记录。

在我们的开发环境中,我们没有大型机,所以我的代码是编写并测试 FTP 到基于 Windows 的 FTP 站点而不是大型机。最初,我使用 a StreamWriter(使用来自 的流FtpWebRequest)写入每条记录,并使用WriteLine(自动在末尾添加 CR/LF)写入每条记录。

当我们第一次在测试环境中运行它时(我们正在写入一个实际的 MVS 大型机),我们的大型机联系人说他的程序(一个绿屏大型机程序)无法读取 CR/LF某种形式的——他给我发了屏幕截图,这就是我所知道的)。

我将代码更改为使用Write而不是WriteLine,但是现在我的代码在写入多条记录时成功执行(即没有抛出异常),但是无论我们追加多少条记录,他都只能“看到”第一条记录-根据他的大型机程序,文件中只有一条 50 个字符的记录。

我猜要解决这个问题,我需要将其他一些行分隔字符写入流的末尾(而不是 CR/LF),大型机会将其识别为记录分隔符。任何人都知道这是什么,或者我还能如何解决这个问题?

4

1 回答 1

1

我实际上遇到了完全相同的问题,我只使用 LF 作为分隔符来修复它。

另外,顺便说一句,为了发送文件,我最终编写了一个命令行脚本并将其发送到 DOS ftp 实用程序,因为内置的 .NET FTP 类不能很好地处理大型机格式化命令的方式和奇怪的“目录”结构。

于 2010-04-16T01:15:47.570 回答