class="p0">当你想浏览一张照片的时候,你在照片浏览器中就可以看它,或者当你写一个文件,你只要点击了保存,它就自动生成了你要的样子,你有没有想过这些到底是怎么办到的呢?要了解这些就要首先了解写入和读出消息的本质。
用如下代码说明:
写的代码:
?
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-->