2016-08-17 16 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.

如果这是来自某种测验或考试的问题,那么这是一个很差的问题,因为信息缺失,因此无法准确回答问题。

相关问题