Windows上非常奇怪的FileOutputStream行为

时间:2015-11-17 13:24:31

标签: java windows io

我已经检查了CreateFileW内的原始Windows WriteFilejdk8u/jdk/src/windows/native/sun/nio/ch/FileDispatcherImpl.c调用可用的所有源代码,但我不知道为什么这两个调用会创建不同的文件lenghts:

FileOutputStream f = new FileOutputStream(new File("x.cfg"));
f.write("hello\n".getBytes());
f.close();

FileOutputStream f = new FileOutputStream(new File("x.txt"));
f.write("hello\n".getBytes());
f.close();

我尝试了不同的扩展程序,但似乎只有.cfg会导致LF→CRLF转换......

看起来它不是Java故障,只有Windows。

1 个答案:

答案 0 :(得分:0)

好的,问题是OSGi文件安装服务在文件写完后进行了转换 ...