之前学过的io因为忘得差不多了,今天自己又重新学了下,顺便记下笔记。在io中,自己要站在程序的角度来看数据是读进来还是写出去。因为io的filein和fileout都是抽象的,所以我们要用它的子类来读写。今天先用的是FileInputStream和FileOutputStream这两个。要注意这两个每次都要抛异常的,而且我们写出去的文件用text记事本开读的是char类型。如同我注释了的代码所示,在e:abc文件夹中有一个hello的txt文档 他读出来是abc012,这里不要觉得奇怪这是底层。知道就好了。后面用FileInputStreamnew出来的in去读这个文件,在api中我们可以看到in.read()读出来的是一个长度,所以我们借用一个length来做for循环,输出显示。至于空格和换行这些细节的问题,我留在下次说。
package cn.hncu;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class MyFileInOutDemo {
public static void main(String[] args) {
// byte[] b={97,98,99,48,49,50};
// try {
// FileOutputStream out=new FileOutputStream("e:/abc/hello.txt");
// try {
// out.write(b);
// } catch (IOException e) {
// e.printStackTrace();
// }
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// }
byte[] buf=new byte[512];
try {
FileInputStream in=new FileInputStream("e:/abc/hello.txt");
try {
int length=in.read(buf);
for (int i = 0; i < length; i++) {
System.out.print((char)buf[i]);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}