如何在PowerShell中查询.properties后缀配置文件的编码类型
PowerShell获取.properties配置文件编码的操作方法
你提供的原始Get-Content不加参数的写法仅能读取文件文本内容,无法返回编码属性,可按以下步骤操作:
操作步骤
- 首选方案:使用.NET StreamReader 编码检测(兼容所有PowerShell版本,准确率高)
- 复制以下代码,将
$filePath的取值替换为你本地.properties文件的实际路径
$filePath = "替换为你的.properties文件完整路径,例如D:\config\configuration.properties" # 初始化StreamReader,开启自动编码检测 $streamReader = New-Object System.IO.StreamReader($filePath, [System.Text.Encoding]::Default, $true) # 触发字节检测,无需读取完整文件 $null = $streamReader.Peek() $fileEncoding = $streamReader.CurrentEncoding $streamReader.Close() # 输出编码结果 $fileEncoding
- 运行修改后的代码,控制台会直接输出文件的编码名称、字节序、是否带BOM等信息
注意事项
- 该方法仅读取文件头部字节做编码识别,不会被文件后缀名干扰,可准确区分.properties文本和.ps1、XML等其他格式文件的编码
- 若检测无BOM的纯ASCII字符.properties文件,返回结果为UTF-8属于正常情况,两种编码在ASCII场景下完全兼容
- 如果你使用PowerShell 7+版本,也可以用以下简化代码实现相同效果:
Get-Content -Path "你的.properties文件路径" -Encoding Byte -TotalCount 4 | Test-Encoding
内容的提问来源于stack exchange,提问作者Jayadeep Chowdary
相关产品推荐
相关产品推荐

