4-5编程练习???对不对

4-5编程练习???对不对

package com.imooc.file;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class FileDemo2 {

public void transWriteByBuf(){
try {
FileOutputStream fos=new FileOutputStream("hello.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bfw=new BufferedWriter(osw);
//	bfw.write("你好吗?");
//	bfw.write("我很好!");
bfw.write("你好吗?\n我很好!");
fos.close();
osw.close();
} catch (FileNotFoundException e) {

e.printStackTrace();
}catch (IOException e) {

e.printStackTrace();
}

}

public void tranReadByBuf(){
try {
FileInputStream fis=new FileInputStream("hello.txt");
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader bfd=new BufferedReader(isr);
//	System.out.println(bfd.read());
//	System.out.println(bfd.read());
int n;
while((n=bfd.read())!=-1){
System.out.println((char)n);
}
fis.close();
isr.close();

} catch (FileNotFoundException e) {

e.printStackTrace();
}catch (IOException e) {

e.printStackTrace();
}

}

}




package com.imooc.file;

public class FileDeomTest {

public static void main(String[] args) {
FileDemo2 f2=new FileDemo2();
f2.transWriteByBuf();
f2.tranReadByBuf();


}

}


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

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

3回答
提问者 慕羲 2018-09-05 19:49:08

package com.imooc.file;

  

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

  

public class FileDemo2 {

  

public void transWriteByBuf(){

try {

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

OutputStreamWriter osw=new OutputStreamWriter(fos);

BufferedWriter bfw=new BufferedWriter(osw);

//  bfw.write("你好吗?");

//  bfw.write("我很好!");

bfw.write("你好吗?\n我很好!");

bfw.close();

fos.close();

osw.close();


} catch (FileNotFoundException e) {

  

e.printStackTrace();

}catch (IOException e) {

  

e.printStackTrace();

}

  

}

  

public void tranReadByBuf(){

try {

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

InputStreamReader isr=new InputStreamReader(fis);

BufferedReader bfd=new BufferedReader(isr);

//  System.out.println(bfd.read());

//  System.out.println(bfd.read());

String str;

while((str=bfd.readLine())!=null){

System.out.println(str);

}

bfd.close();

fis.close();

isr.close();

  

} catch (FileNotFoundException e) {

  

e.printStackTrace();

}catch (IOException e) {

  

e.printStackTrace();

}

  

}

  

}

  

  

  

  

package com.imooc.file;

  

public class FileDeomTest {

  

public static void main(String[] args) {

FileDemo2 f2=new FileDemo2();

f2.transWriteByBuf();

f2.tranReadByBuf();

  

  

}

  

}


提问者 慕羲 2018-09-05 10:09:25
package com.imooc.file;
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
public class FileDemo2 {
 
public void transWriteByBuf(){
try {
FileOutputStream fos=new FileOutputStream("hello.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bfw=new BufferedWriter(osw);
//  bfw.write("你好吗?");
//  bfw.write("我很好!");
bfw.write("你好吗?\n我很好!");
fos.close();
osw.close();
bfw.close();
} catch (FileNotFoundException e) {
 
e.printStackTrace();
}catch (IOException e) {
 
e.printStackTrace();
}
 
}
 
public void tranReadByBuf(){
try {
FileInputStream fis=new FileInputStream("hello.txt");
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader bfd=new BufferedReader(isr);
//  System.out.println(bfd.read());
//  System.out.println(bfd.read());
String str;
while((str=bfd.readLine())!=null){
System.out.println(str);
}
fis.close();
isr.close();
 
} catch (FileNotFoundException e) {
 
e.printStackTrace();
}catch (IOException e) {
 
e.printStackTrace();
}
 
}
 
}
 
 
 
 
package com.imooc.file;
 
public class FileDeomTest {
 
public static void main(String[] args) {
FileDemo2 f2=new FileDemo2();
f2.transWriteByBuf();
f2.tranReadByBuf();
 
 
}
 
}


//修改后的代码

  • 应该把bfw.close(); 放在fos.close();osw.close(); 前边关闭。否则会抛异常。
    2018-09-05 14:53:36
  • 同理tranReadByBuf()中,应该把bfd也关一下。
    2018-09-05 14:55:55
  • 提问者 慕羲 #3
    package com.imooc.file; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class FileDemo2 { public void transWriteByBuf(){ try { FileOutputStream fos=new FileOutputStream("hello.txt"); OutputStreamWriter osw=new OutputStreamWriter(fos); BufferedWriter bfw=new BufferedWriter(osw); // bfw.write("你好吗?"); // bfw.write("我很好!"); bfw.write("你好吗?\n我很好!"); bfw.close(); fos.close(); osw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } public void tranReadByBuf(){ try { FileInputStream fis=new FileInputStream("hello.txt"); InputStreamReader isr=new InputStreamReader(fis); BufferedReader bfd=new BufferedReader(isr); // System.out.println(bfd.read()); // System.out.println(bfd.read()); String str; while((str=bfd.readLine())!=null){ System.out.println(str); } bfd.close(); fis.close(); isr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } } package com.imooc.file; public class FileDeomTest { public static void main(String[] args) { FileDemo2 f2=new FileDemo2(); f2.transWriteByBuf(); f2.tranReadByBuf(); } }
    2018-09-05 19:46:31
一叶知秋519 2018-09-04 19:02:35

1、transWriteByBuf()方法中:增加bfw.close();关闭流;

2、tranReadByBuf()方法中,读取数据时改为下面代码:

String str;
while ((str = bfd.readLine()) != null) {
    System.out.println(str);
}

readLine()方法可以逐行读取文件的内容,得到的读取效果更佳符合题目要求。

祝学习愉快!

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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