我有一个带有另一个硬链接的文件。如何更改 Java 中的第一个文件,同时保持另一个硬链接中的内容不变?
这种行为就像 Windows 中的 gVim:
C:\Users\atry\break-hard-link>echo Hello, World > file1
C:\Users\atry\break-hard-link>mklink /H file2 file1
为 file2 <<===>> file1 创建了硬链接
C:\Users\atry\break-hard-link>gvim file1 :: Change file1 in gVim
C:\Users\atry\break-hard-link>dir
驱动器 C 中的卷没有标签。
卷的序列号是 B2F2-1B6E
C:\Users\atry\break-hard-link 的目录
2012-11-04 11:33 <DIR> .
2012-11-04 11:33 <DIR> ..
2012-11-04 11:33 8 file1
2012-11-04 11:32 15 file2
2 个文件 23 字节
2 个目录 365,748,248,576 可用字节
注意file1
's size 和file2
's size 现在不同了。
我试过new java.io.FileOutputStream
and java.nio.file.Files.newOutputStream
,但两种方法都修改了file1
and file2
。
我想知道 gVim 是如何做的,并在我的 Java 应用程序中应用相同的行为。