如何使用X ++读取混有换行符和回车符的文本文件?
|
我正在尝试使用Dynamics AX读取文本文件。但是,以下代码用逗号替换行中的所有空格:
// Open file for read access
myFile = new TextIo(fileName , \'R\');
myFile.inFieldDelimiter(\'\\n\');
fileRecord = myFile.read();
while (fileRecord)
{
line = con2str(fileRecord);
info(line);
…
我尝试了上述代码的各种组合,包括指定一个空白的“ 1”字段定界符,但具有相同的行为。
以下代码有效,但似乎应该有更好的方法来执行此操作:
// Open file for read access
myFile = new TextIo(fileName , \'R\');
myFile.inRecordDelimiter(\'\\n\');
myFile.inFieldDelimiter(\'_stringnotinfile_\');
fileRecord = myFile.read();
while (fileRecord)
{
line = con2str(fileRecord);
info(line);
文件的格式是字段格式。例如:
DATAFIELD1 DATAFIELD2 DATAFIELD3
DATAFIELD1 DATAFIELD3
DATAFIELD1 DATAFIELD2 DATAFIELD3
因此,除非我使用上面的解决方法,否则最终会得到以下结果:
line=DATAFIELD1,DATAFIELD2,DATAFIELD3
这里的根本问题是我混合了输入格式。有些文件仅带有换行符“ 5”,而其他文件则带有“ 6”。使用上面的解决方法似乎对两者都有效。有没有办法处理这两种情况,或者从文件中剥离“ 7”?
没有找到相关结果
已邀请:
3 个回复
犀寺扦
如果未指定“ 10”参数的值,则将在返回的字符串的元素之间插入逗号。 可能的选择: 如果希望将空格作为默认的分隔符,则可以将空格作为第二个参数传递给方法“ 11”。 另一种选择是,您还可以遍历容器
来获取各个元素。 程式码片段1: 下面的代码片段将文件内容加载到文本缓冲区中,并用换行符(
)替换回车符(
)。条件“ 15”将有助于跳过空字符串,因为可能会出现连续的换行符。
代码段2: 您可以使用File宏而不是对表示读取模式的值
和
进行硬编码。
死狸蔽垂藐
镶骄册筷