2011-08-31 繁重作业,解决昨天问题继续java io 字节流

来源:互联网 发布:arraylist 源码 编辑:程序博客网 时间:2024/06/13 14:43

今天感到自己的任务很重,不是我不自信,确实是要学的东西很多。现在作为一名学电脑的学生的我连打字都不能忙打,唉!!!该采取点什么措施呢?我能坚持下来吗?

感叹,没什么壮志。废话说多了,言归正传。

首先,昨天问题的解决。第一个是哪个“多两个字节”的问题。原因在于下面的代码:

A      bw.write(str);Bbw.flush();Cbw.newLine();Dstr=br.readLine();

原因在于C行,多那两个字节是多一个回车即多写了次bw.newLine();我先后调试了这几句代码的位置结果还是一样。后来我同桌说加入两个标记变量用来记录行数和进行比较也许行。后来我仔细想了下但没想出个结果,在此我表示道歉我没解决那个问题,也求高手指点一二。先谢谢了。

其次,今天的学习java中字节流的处理。仍旧是作业:1,读取文件test.txt中的前5个字节,并存放到数组b中(从下标3开始)。

2、编写程序,接收用户从键盘输入数据并保存到当前路径下的文件test.txt中。然后又等待用户从键盘输入数据,将数据添加到文件末尾。如果回车后输入‘#’时,则结束程序运行。

下面是这两个题的代码:

一、:

import java.io.*;class  TestDuQu{public static void main(String[] args) {FileInputStream fis=null;char[] ch=new char[10];int i=1;try{fis=new FileInputStream(new File("e:\\Java\\java_biji\\TestJieShu.txt"));int n=fis.read();while(n!=-1){if(i>=2&&i<=6){ch[i]=(char)n;}if(i>6)break;i++;n=fis.read();}}catch(IOException e){System.out.println(e.toString());}finally{if(fis!=null)try{fis.close();}catch(IOException e){System.out.println(e.toString());}}System.out.println(new String(ch));}}


 

二、

import java.io.*;class TestJieShu{public static void main(String[] args) {InputStreamReader isr=null;OutputStreamWriter osw=null;try{isr=new InputStreamReader(System.in);osw=new OutputStreamWriter(new FileOutputStream(new File("e:\\Java\\java_biji\\TestJieShu.txt")));System.out.println("输入字符");char n=(char)isr.read();while((char)n!='#'){osw.write(n);n=(char)isr.read();osw.flush();}}catch(IOException e){System.out.println(e.toString());}finally{if(isr!=null)try{isr.close();}catch(IOException e){System.out.println(e.toString());}if(osw!=null)try{osw.close();}catch(IOException e){System.out.println(e.toString());}}}}


 

今天什么难点,却有个混淆点-java中字节流与字符流。还有缓冲流。等我在研究一段时间便把成果发上去。


 

原创粉丝点击