当你想浏览一张照片的时候,你在照片浏览器中就可以看它,或者当你写一个文件,你只要点击了保存,它就自动生成了你要的样子,你有没有想过这些到底是怎么办到的呢?要了解这些就要首先了解写入和读出消息的本质。
用如下代码说明:
写的代码:
package FileIO;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class IoTest {
public void writeTest(String FileName) {
try {
FileOutputStream fos = new FileOutputStream(FileName);
String s[] = { "中国", "22", "abc", "chinese", "12354" };
for (int k = 0; k < s.length; k++) {
byte[] sa = s[k].getBytes();
System.out.println(k + "=====>" + sa.length);
System.out.println(sa[k]);
for (int i = 0; i < sa.length; i++) {
fos.write(sa[i]);
}
}
fos.close();
} catch (Exception e) {
e.getStackTrace();
System.out.println("写入出错啦!");
}
}
读的代码:
public void readTest(String v) {
try {
FileInputStream fis = new FileInputStream(v);
System.out.println("abc");
int fislength = fis.available();
byte[] data = new byte[fislength];
System.out.println(data.length);
fis.read(data);
String ss = new String(data);
System.out.println("读到的字符是: "+ss);
fis.close();
} catch (Exception e) {
e.getStackTrace();
System.out.println("读出出错啦!!");
}
}
测试的代码:
public static void main(String[] args) {
String v = "v1";
IoTest it = new IoTest();
it.readTest(v);
it.writeTest(v);
}
这样结果就生成了,我们也看出了它的本质即:将消息数据转化为byte型数据,并将byte型数据一个个写入一个文件中,然后再通过读的方法,一个个byte的形式读出来,并将其转化为原来数据的形式,这样在指定文件中就存在了要填入的数据。
<!--EndFragment-->