java - Windows 上非常奇怪的 FileOutputStream 行为

标签 java windows io

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

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 的错误。

最佳答案

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

关于java - Windows 上非常奇怪的 FileOutputStream 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33758081/

相关文章:

java - 如何解决线程饥饿?

java.lang.ClassNotFoundException : Didn't find class on path: dexpathlist

php - 使用 PHP 在 Windows 上更改文件创建日期

windows - 等效于 system.Reflection.Assembly.GetExecutingAssembly().FullName

c - read(2) 如何与回车交互?

java - 如何在 Jenkins 上运行 TestNG 测试

java - 在数据库中插入姓名 Android

c++ - 在没有源代码访问权限的情况下修改旧 Windows 程序以在按键后不调用退出

c++ - 在 C++ 中快速解析制表符分隔的字符串和整数

java - 创建FileOutputStream对象时由: java. io.FileNotFoundException :/path/somthing. jar(是目录)引起