批处理风格中,每个处理步骤是一个单独的程序;每一步必须在前一步结束后才能开始;数据必须是完整的,以整体的方式传递。
批处理风格基本组件是独立的程序,链件键是某种类型的媒质。
程序示例如下:
【功能】:程序1实现随机生成0到100内的6个数,并存储到“Data.dat”文件中;程序2实现从“Data.dat”文件中读取数据并输出。
程序1:
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class sender {
static File tempFile = new File("Data.dat");
public static void main(String[] args) {
if (tempFile.exists()) {
System.out.println("文件Data.dat已经存在!");
System.exit(0);
}
outNumber();
}
public static void outNumber() {
DataOutputStream out = null;
try {
out = new DataOutputStream(new BufferedOutputStream(
new FileOutputStream(tempFile)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
for (int i = 0; i < 6; i++)
try {
out.writeInt((int) (Math.random() * 100));
} catch (IOException e) {
e.printStackTrace();
}
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
程序2:
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileInputStream;
import java.io.IOException;
public class receiver {
static File tempFile = new File("Data.dat");
public static void main(String[] args) {
if (!tempFile.exists()) {
System.out.println("文件Data.dat不存在!");
System.exit(0);
}
getNumber();
}
public static void getNumber() {
DataInputStream in = null;
try {
in = new DataInputStream(new BufferedInputStream(
new FileInputStream(tempFile)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
for (int i = 0; i < 6; i++)
try {
System.out.print(" " + in.readInt());
} catch (IOException e) {
e.printStackTrace();
}
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
对于以上程序,组件是程序1和程序2,连接件是Data.dat文件。