1、java只认识保存为(UTF-8)编码的文件
一、输入
1.InputStream
2、Reader
3、InputStream 装换成 Reader: InputStreamReader
二、输出
第一:DataOutputStream:重点是整个数据的组合,整体和部分的关系,主要涉及如何保存这些数据。
1、 如:一个吃饭桌:几个木角+一个台面。
2、 哪么整个数据:int,double,(字母,汉字,基本一些符号:用readUTF,writeUTF)UTF这些数据类型的数据构成。
3、当数据保存时:如果是一个int值,就需要占2个字节,如果一个double,就需要占4个字节。
4、当要保存一个int值,2个字节,如何把值放入到相应空间,如果把这些文件是UTF-16编码,又涉及到
Big endian:重要的数据放在低地址
Little endian: 重要的数据放在高地址
读数据:从高地址开始读,所以取出来的结果相反。
第二:PrintStream、PrintWriter:主要是显示问题,即给别人的数据,别人怎么才能看得懂,所以以别人看得懂的格式把自己的东西给别人。
1》像服务方传回给浏览器的.html 文件,这样客户端浏览器才能看得懂。
2》以前我们在一个方法打印出错日志时:经常 out.println("内容"),怎么容易查错,就怎么写。
PrintStream:主要是输出数据是原始类型+String objects。
PrintWriter:输出数据是unicode 编码(即国际化UTF-16或UTF-8 )
1>例如:我们从网页上输入 http://www.sohu.com 意思是去这个地址取网页。
接收方返回 <html> <html> 的文件,
PrintWriter out =response.getWriter();
java.util.Date today = new java.util.Date();out.println(“<html> “ +
“<body>” +
“<h1 style=”text-align:center>” +
“</body>” +
“</html>”);
}
}
三、新的NEW I/O,加了一个(Channel,ByteBuffer),
写时:把输出的东西(ByteBuffer 的内容 )给通道,通道负责输出。
读时:通道 把 别人的东西放入ByteBuffer ,
read:通知别人把数据放入ByteBuffer ,
flip:别人通知ByteBuffer 区已经放入数据。
参看资料:
【1】http://www.cnblogs.com/leesf456/p/5313408.html