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
}
}
}
答案 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
时覆盖该文件。