完成以下程序后,将多少字节写入文件ourOutput.txt?

时间:2016-08-17 08:01:38

标签: java

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
        }
    }
}

2 个答案:

答案 0 :(得分:1)

SamTebbs33是对的;第二组写入会覆盖第一组写入的内容,因此最终文件将包含" 4 5 6"。

但是,文件将包含多少字节,这是不可能的,因为它取决于正在使用的字符编码。由于代码中未指定字符编码,因此将使用系统的默认字符编码(请参阅PrintWriter constructor的API文档),我们不知道您系统上的内容。

不同的字符编码每个字符使用不同的字节数。例如,如果它是UTF-8,则每个字符将有一个字节,总字节数为5.但UTF-16每个字符使用2个字节,因此总字节数将为10。

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

答案 1 :(得分:0)

如果每个字符编码为两个字节且行分隔符为\n,那么写入的字节数将为11.它不是22的原因是因为你正在编写" 1 2 3"到文件(使用行分隔符),然后在下次声明PrintWriter并覆盖下一个String时覆盖该文件。