Windows+JDK6環境で、
存在するテキストファイル "C:\tmp.txt"
をWindows上のエディタで編集作業中に、
Java側で

 File f = new File("C:\\tmp.txt");
 boolean rtn = f.canWrite()

とすると、結果のrtnは常にtrueになります。
File#calWrite()メソッドが判定できる書き込み可否条件は、
同じJVM内とかで、ホストOS?側で対象ファイルが
どう扱われているかについては関知しないんでしょうか?