日期:2014-05-20  浏览次数:20814 次

请求高手点拨一个JavaSE的基功问题
高手,您好:
    现在我在写一个程序,需要用到:
    “Java IO流”的操作部分的知识..
    由于我对于Java IO流部分的知识,理解的还不够透彻,现在碰到了一些问题,希望得到高手的点拨...
    我想要达到一个:
    向Windows 7操作操作系统的硬盘的分区之下,写出“面向txt文件的数据”“并且能够即时读取这些数据到内存”的Java代码的功能。
    我写出的代码如下:
    
package c_port_packageDoctor;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test8 {
FileOutputStream fops = null;
FileInputStream fips = null;
byte[] bytes1 = new byte[1024];
Test8(){
try {
fops = new FileOutputStream("D:\\MyDoc\\test.txt");
fips = new FileInputStream("D:\\MyDoc\\test.txt");

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

public static void main(String[] args){
Test8 t8 = new Test8();
t8.start();
t8.GoonStart();
}

public void start(){
try {
           byte[] bytes = "19".getBytes();
fops.write(bytes);
//dops.writeInt(19);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void GoonStart(){
try {
bytes1 = fips.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(bytes1);
}

}

    程序中的第43行,给出了下图中的提示:
    
    上图中说明:
    从txt文件中用FileInputStream类的实体fips的read()方法读取到的数据,是:
    “字节为单位”的数据,这些数据,需要用一个“整型变量”来接收.
    但是在我将程序中的“第11行”所定义的变量,进行了“重新修改为int类型”之后,得到的结果是:
    能够通过MyEclipse的编译,但是,不能得到“整个程序的预期结果”:
    从“向被上面的代码写入了阿拉伯数字19”的txt文件中,得到:“写好的阿拉伯数字19”...
    最终运行程序,得到的效果console窗口中的结果如下:
    
    请问诸位高手,我知道:
    Java的IO这一部分的知识,我是有欠缺的地方的,但是,由于时间的关系,我不得不“请CSDN中的高手为我做一下指导”了...
    希望高手能够告诉我:
    1.为什么我的代码里,不能够实现: