有没有一种简单的方法可以查看特定文件是否具有 DOS/MAC/UNIX 行结尾?
目前我逐字节读取文件,如果看到 Windows 回车就停止
for (byte thisByte : bytes) {
if ((!isDos) && (thisByte == 13)) {
isDos = true;
}
...
有没有办法不用逐字节读取文件就可以得到相同的信息?
最佳答案
一个可能的优化可能是只查看文件的最后一两个字节。由于许多文本文件以一行结尾,因此大多数情况下应该可以使用。如果您没有发现在那里结束的行,那么您将不得不回退到逐字节。
顺便说一句,您的示例代码将 isDos 设置为 true 而不检查下一个字符是否为十进制 10。如果它不是 10,则它可能是 MAC 文件格式。
关于java - 在 Java/DOS-UNIX 中获取文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3055659/