hello.txt文件中没有写入内容

hello.txt文件中没有写入内容

package it.immoc.com;


import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;


public class WeatherTest {

public void transWriteByBuf(){

try {

FileOutputStream fos = new FileOutputStream("hello.txt");

OutputStreamWriter osw=new OutputStreamWriter(fos);

BufferedWriter bw=new BufferedWriter(osw);

bw.write("你好吗?\r\n");

bw.write("我很好!\r\n");

bw.flush();

fos.close();

osw.close();

bw.close();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void transReadByBuf(){

try {

FileInputStream fis = new FileInputStream("hello.txt");

InputStreamReader isr=new InputStreamReader(fis);

BufferedReader br=new BufferedReader(isr);

String n;

while((n=br.readLine())!=null){

System.out.println(n);

}

fis.close();

isr.close();

br.close();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void main(String[] args) {

// Weather wt=new Weather();

// new Thread(new GenerateWeather(wt)).start();

// new Thread(new ReadWeather(wt)).start();

WeatherTest wt=new WeatherTest();

wt.transWriteByBuf();

wt.transReadByBuf();

}

}

问题:

  1. hello.txt文件中没有写入内容,

    2.直接在hello.txt文件中添加其他内容,显示在控制台上的还是bw.write()写入的内容没有其他内容,

    3.先调用读的函数后调用写的函数控制台还是能够看到bw.write()中写入的内容


http://img1.sycdn.imooc.com//climg/5db1c34408a3536411160984.jpg

http://img1.sycdn.imooc.com//climg/5db1c344089cb33111110982.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕酷酷 2019-10-25 11:10:49

同学你好,代码编写的不错,

1、老师复制运行同学的代码hello.txt中是可以写入内容的,具体如下:

http://img1.sycdn.imooc.com//climg/5db2662509e75afd03450136.jpg

建议同学运行代码后,进行刷新一下项目,再查看。

2、对于第二个问题,在hello.txt文件中添加其他内容,显示在控制台上的还是bw.write()写入的内容的原因是:

如果在txt文件中添加内容,会导致运行代码后在transWriteByBuf()方法中进行写入字符,进行覆盖,所以不会输出txt文件中添加的内容。

3、对于第三个问题,与第二个问题的解释类似,因为先进行读取文本,所以会输出txt文件中添加的内容,再调用写入文件的方法进行覆盖,则txt文件中还是原来的内容。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师