2016-02-26 147 views
-2

FileOutputStream does not create fileFileOutputStream中不創建文件

我跑在eclipse下面的代碼,這是我從這個問題採取了完全重複。沒有文件被創建。

BufferedOutputStream dob = null; 
    try { 
     File file = new File("C:\\Users\\claudio\\ccc.as"); 
     System.out.println("file created:" + file.exists()); 
     FileOutputStream fod = new FileOutputStream(file); 
     System.out.println("file created:" + file.exists()); 
     dob = new BufferedOutputStream(fod); 
     byte[] asd = {65, 22, 123}; 
     byte a1 = 87; 
     dob.write(asd); 
     dob.write(a1); 
     //dob.flush(); 
    } 
    catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
    finally { 
     if (dob != null) { 
      try { 
       dob.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 

Eclipse建議使用第二次嘗試/ catch捕獲.close()。我可能犯了一個明顯的錯誤,請原諒我,如果是這樣的話。

+0

你有沒有在運行Eclipse調試器?我的猜測是你的程序沒有訪問'C:\ Users \ claudio \'的權限,並且它在Eclipse的Console選項卡中輸出一個關於該程序的Exception。 – pyb

+0

適用於我 –

+0

您是否有權限寫入該目錄?請嘗試手動創建該文件。 –

回答

-1

我想嘗試this example,它使用createNewFile()來執行預期的行爲。我不認爲你使用的方法會自動創建一個。

文件可以使用類似以下實例化:

File file = new File("MyFile.txt"); 
file.createNewFile(); 
0

簡單,

byte[] asd = {65, 22, 123}; 
FileOutputStream out = new FileOutputStream("C:\Users\claudio\ccc.as"); 
out.write(data); 
out.close(); 

,如果你使用的是Java 7+,

byte[] asd = {65, 22, 123}; 
Path file = Paths.get("C:\Users\claudio\ccc.as"); 
Files.write(file, asd); 
相關問題