《Java面向对象编程》学习笔记16—Java I/O系统
1.基本概念和基本情况:
a.流:一组有序的数据序列。
b.字节流:数据流中最小的数据单元是字节。
c.字符流:数据流中最小的数据单元是字符。
d.java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流。都是抽象类,不能被实例化。所有的字节操作流都是这两个类的直接或间接子类。read()读取的是一个8位字节,write()写入的是一个8位字节。
e.java.io.Reader和java.io.Writer分别表示字符输入流和字符输出流。都是抽象类,不能被实例化。所有的字符操作流都是这两个类的直接或间接子类。
2.字节输入流:
1)字节数组输入流:ByteArrayInputStream类
从内存中的字节数组中读取数据,其数据源是一个字节数组。该类本身采用了适配器设计模式,将字节数组类型转化为输入流,完成对数组的读操作,读到的每一个字节类型的元素都会自动转换为int。
使用如下:
import java.io.ByteArrayInputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args){
byte buff[]= new byte[]{2,15,67,-1,-9,9};
ByteArrayInputStream inputStream = new ByteArrayInputStream(buff,1,4);
int data = inputStream.read();
while (data!=-1) {
System.out.println(data + " ");
data = inputStream.read();
}
try {
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 
相关文档:
代码如下:
1 String command = " cmd /c C:/Program Files/MySQL/MySQL Server 5.0/bin>mysqldump -h localhost -u root -p aijia > E:/aijia.dmp " ;
2 try {
3 Process process& ......
最近遇到一个需求要在linux下用java 调用mysql客户端远程登陆mysql服务器,从客户端机器导入mysql脚本,从mysql服务器端导出表中的数据。以下是用到的主要方法:
Java 代码
/**
* 导入数据
* @param 脚本的地址和名称
* @return 是否� ......
tomcat启动web服务的时候总是会有8小时的时差,
琢磨了好久,最简单的办法就是
找到文件夹jdk1.6.0_07\jre\lib\zi\Etc
这里边都是一些时区文件GTM+1,GTM+2,GTM+3....
备份一份Etc
拷贝N份GTM+8文件(中国的时区是GTM+8)
把GMT+8文件名改成GTM+1,GTM+2,GTM+3....
覆盖掉原来的Etc里边的文件
重启tomcat问题解决 ......
一、运行class文件
执行带main方法的class文件,命令行为:
java
注意:CLASS文件名不要带文件后缀.class
例如:
java Test
如果执行的class文件是带包的,即在类文件中使用了:
package
那应该在包的基路径下执行,命令行为:
java .CLASS文件 ......
1 网络通信的本质是进程间通信。
2 Tcp协议和UDP协议
TCP:开销大,用于可靠性要求高的场合。
TCP的过程相当于打电话的过程
UDP:用在对实时性要求比较高的场合。
UDP的过程相当于写信的过程。
注意:socket是套接字,ip和port(端口号 0~65535个端口,一个端口只能有一个进程)
3,   ......