一、问题现象:
下面的代码主要用于将业务数据输出至文件中供接口调用:
BufferedWriter out = null;
try
{
out = new BufferedWriter(new FileWriter(localFilePath + fileName, isAddLog));
……
……
if(isImepServerRunning)
{
out.write("004|" + hostName + "|" + ip + "|0002|imep进程up|0|" + performTime + “\r\n”);
}
else
{
out.write("004|" + hostName + "|" + ip + "|0002|imep进程down|1|" + performTime + “\r\n”);
}
}
……
此时出现了问题:结果文件中的数据换行在unix系统下不正确
二、解决方案:
1.由于unix和windows系统参数的差别,故不使用硬编码进行换行,通过使用System.getProperties("line.separator");获取换行符
2.通过使用out.newLine();实现
三、问题总结:
由该问题可延伸至操作系统常用参数的差别,如:
line.separator(windows:"\r\n";unix:"\n");
file.separator(windows:"\";unix:"/");
path.separator(windows:";";unix:":");
分享到:
相关推荐
使用`PHP_EOL`可以避免硬编码特定系统的换行符,提高代码的可移植性和可维护性。 示例代码: ```php $str = str_replace(PHP_EOL, '', $str); ?> ``` 这段代码用`PHP_EOL`替换字符串中的换行符,无论在哪个操作...
在编写跨平台的PHP代码时,使用`PHP_EOL`而不是硬编码特定的换行符(如`\n`或`\r\n`),可以确保你的代码在不同操作系统之间保持一致的行为。这在处理文件读写、日志记录或者打印多行文本等场景时特别有用,因为这样...
使用 UTF-8 作为源文件编码。 每个缩进级别使用两个 spaces... 使用 Unix-风格 换行符。(*BSD/Solaris/Linux/OSX 用户被为默认涵盖,Windows 用户必须特别小心.) \n是换行,英文是LineFeed,ASCII码是0xA。 \r是回
在ASCII模式下,FTP服务器会自动处理文本文件中的换行符,将其转换为特定的操作系统格式(例如,Unix系统使用`\n`作为换行符,而Windows系统则使用`\r\n`)。这种模式不适合传输非文本文件,因为可能导致文件损坏。 ...
总的来说,要在C#中实现字符串的多行显示和文本换行,关键在于设置TextBox的`Multiline`属性为`true`,以及使用`System.Environment.NewLine`作为跨平台的换行符。同时,通过合理的字符串拼接和条件判断,可以实现...
23. BufferedWriter操作:BufferedWriter的newLine()方法用于写入一个换行符。 24. 关系运算:在关系数据库中,R×S表示R和S的笛卡尔积,而不是交集、并集或除法操作。 25. 可执行程序:计算机能直接执行的是机器...
在这里,用户输入的文字(`EditText`中的内容)被添加了一个换行符`\r\n`,然后通过`println`方法发送到服务器。 虽然这段代码没有显示服务器接收和响应的代码,但通常服务器端会有一个类似的逻辑,监听指定的端口...
// 移除末尾换行符 i++; } } } fclose(fp); // 打印读取的配置项 for (int j = 0; j ; j++) { printf("%s = %s\n", config[j].key, config[j].value); } return 0; } ``` 对于配置文件的写入,我们...
在编写跨平台的代码时,使用`Environment.NewLine`替代硬编码的换行符(如`\n`或`\r\n`),可以确保在不同操作系统上的输出正确。 2. **命名空间别名**: 长的命名空间可能导致代码可读性降低,这时可以使用`using`...
- `paste -d '+' a b`: 使用指定的字符(如`+`)作为分隔符。 - `paste -s a`: 将多行数据合并成一行,使用制表符分隔。 5. **文件搜索与信息提取** - `locate 字符串`: 快速搜索文件系统中的文件。 - `wc -l ...
这是因为HTML会把它们当作普通的文本显示出来,而不是作为换行符处理。 要实现在`<textarea>`中显示换行,可以使用以下几种方法: 1. **HTML实体**:在HTML中,我们可以使用HTML实体来表示特殊字符。对于换行,...
含文件掩码和以反斜线结尾,即使没有指定 -r 开关,目录和子目录的 所有内容都会被添加到压缩文件中。 下面的命令会把 Bitmaps 目录和它的子目录中的所有文件添加到 RAR 压缩文件 Pictures.rar 中: rar a ...
这种格式的数据由一系列的部分组成,每个部分之间用分隔符(通常是两个换行符--)区分,并且每个部分都有一个Content-Type头来标识其类型。对于图片上传,我们通常会有一个"image/jpeg"或"image/png"的Content-Type...
- **示例**: `tail -n 10 myfile.txt` 显示`myfile.txt`的最后10行。 - **实时监控日志文件**: `tail -f 日志文件` - **示例**: `tail -f /var/log/messages` 实时监控系统日志文件。 **9. 文件类型检查** - **...
- `−0` 或 `−−null`:接受NUL字符作为输入行的结束符。 - `−a` 或 `−−reset-access-time`:重置文件访问时间。 - `−A` 或 `−−append`:将文件追加到现有的备份文件中,该备份文件必须位于磁盘上。 - `−b` ...
// 添加逗号分隔,最后一列添加换行符 if (i != (Column.length - 1)) { sb.append(fieldValue + ","); } else { sb.append(fieldValue + "\r\n"); } break; } } } } catch (Exception e) { e....
- `dos2unix`/`unix2dos`:转换文本文件的换行符,适应不同操作系统。 - `iconv`:转换文件编码,例如从GBK转为UTF-8。 2. **文件操作**: - `md5sum`:计算文件的MD5校验值,用于验证文件完整性。 - `ln`:...