2016-08-17 46 views
-17
import java.io.FileNotFoundException; 
import java.io.PrintWriter; 

public class WriteFile 
{ 

    public static void main(String[] args) { 

     try{ 
      PrintWriter first = new PrintWriter("ourOutput.txt"); 
      first.println("1 2 3"); 
      first.close(); 

      PrintWriter second = new PrintWriter("ourOutput.txt"); 
      second.print("4 5 6"); 
      second.close(); 
     } 
     catch(FileNotFoundException ex){ 
     // error handling code here 
     } 
    } 
} 
+7

你爲什麼不跑步和嘗試呢? –

+0

你在問,寫了多少或者最終尺寸是多少? –

+2

我會說11個字節,但也取決於'系統屬性line.separator'的長度 –

回答

0

如果每個字符都編碼爲兩個字節,行分隔符爲\n,那麼寫入的字節數將爲11,而不是22的原因是因爲您正在向文件寫入「1 2 3」 (帶有一個線路分隔符),但隨後會覆蓋,以便下次聲明PrintWriter並打印下一個String

1

SamTebbs33是對的;第二組寫入覆蓋第一組寫入所做的事情,所以最後文件將包含「4 5 6」。

但是,該文件將包含多少個字節不可能說,因爲它取決於正在使用的字符編碼。由於代碼中未指定字符編碼,因此將使用系統的默認字符編碼(請參閱PrintWriter constructor的API文檔),我們不知道系統上是什麼。

不同的字符編碼對每個字符使用不同數量的字節。例如,如果它是UTF-8,那麼每個字符將有一個字節,並且字節的總數將是5.但是UTF-16使用每個字符2個字節,因此字節的總數將是10.

如果這是來自某種測驗或考試的問題,那麼這是一個很差的問題,因爲信息缺失,因此無法準確回答問題。

相關問題