2013年5月3日金曜日

隠しファイルに対してFileOutputStream.open() でFileNotFoundException例外

隠しファイルに対してFileOutputStreamのopenメソッドでFileNotFoundExceptionが発生する。
jdk-b63で解決しているのだが、一応念のため書いておきます。

http://bugs.sun.com/view_bug.do?bug_id=6350200


  1. Exception in thread "main" java.io.FileNotFoundException: sample.txt (アクセスが拒否されました。)  
  2.        at java.io.FileOutputStream.open(Native Method)  
  3.        at java.io.FileOutputStream.(FileOutputStream.java:179)  
  4.        at java.io.FileOutputStream.(FileOutputStream.java:131)  
  5.        at java.io.FileWriter.(FileWriter.java:73)  
  6.        at sample.FileAccessSample.main(FileAccessSample.java:22)  


以下のようなコードで発生する。


  1. import java.io.*;  
  2.   
  3. public class HiddenFileTest {  
  4.     // Main function, launches JFileChooser to select a directory  
  5.     public static void main( String[] args ) {  
  6.         try {  
  7.             FileWriter fw = new FileWriter( "C:\\temp\\file1.txt" );  
  8.             PrintWriter out = new PrintWriter( fw );  
  9.             out.println( "This is a test 2" );  
  10.             out.close();  
  11.         } catch( IOException e ) {  
  12.             e.printStackTrace( System.out );  
  13.         }  
  14.     }  
  15.   
  16. }