java调用FileWriter读取文件出错

java调用FileWriter读取文件出错,第1张

public int read(char[] cbuf)

字符读入数组

返回:

读取的字符数,如果已到达流坦配的末尾,则返回者埋 -1

因为最后一次读首信蚂 *** 作,字符数组的最后几个或者几十个字符,还是上一次的值,所以写入的文件最后多了一些其他的字符。

解决方案:

int readlen=0

while((readlen=fr.read(count))!=-1)

{

fw.write(count,0,readlen)

}

资料:

public abstract void write(char[] cbuf,

int off,

int len)

写入字符数组的某一部分。

参数:

cbuf - 字符数组

off - 开始写入字符处的偏移量

len - 要写入的字符数

您好,提问者:

    猛颂下面代码宽丛,我没有引入java.io.*, 并且我直接抛出异常,如果有需求往自己修改

public void fileReaderOrWriter() throws IOException{

        FileWriter fw = new FileWriter(new File("D:\\1.txt"))

        fw.write("我是一只小小鸟")

        fw.write("\r\n") //换行

        fw.write("怎么飞也飞不高")

        fw.flush() //刷新缓存池

        fw.close() //关闭

        

        FileReader fr = new FileReader(new File("D:\\1.txt"))

        char[] ch = new char[1024]

        int line = 0

        String str = ""

        while((line = fr.read(ch)) != -1){

            str = new String(ch, 0, line)

      慎知樱  }

        System.out.println(str)

        fr.close() //关闭      

    }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8173659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存