为什么下面这个输出结果是2,并且txt文件中没什么都没有?

发布网友 发布时间:3小时前

我来回答

2个回答

热心网友 时间:31分钟前

你写入文件的内容是true,false,1,2,3,4,5,6,7,8,9,但是,这些内容是按字节保存的,所以你打开看打的是乱码,你可以用十六进制打开文件,其实有内容的。
至于为什么是2,因为java的boolean类型是1个字节保存的,而int是4个字节,你f.seek(6),刚好跳过了前面的true 1字节,false 1字节,1 4字节,共6字节,然后读取一个int,自然是2了

热心网友 时间:36分钟前

这是JAVA的随机读取文件,你首先写了两个Boolean类型的变量,每个Boolean变量站1个字节,你这共占2个字节,后面你又用了一个循环写了9个整数,每个整型变量占4个字节,seek()函数是按字节读取的,seek指针从0开始指到第六个字节,你在f.readInt()读取了4个字节的整数,刚好是2.为什么TXT文件里什么也没有?这是因为编码的问题,JAVA使用的是统一码,而windows用的是别的编码,不兼容,要么什么也没有,要么乱码。要想TXT文件里有东西就用File类加PrintWriter类读写即可。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com