第七章 输入与输出流
1. 文件数据流示例
1.1 文件输入流异常:
package demo1;
import java.io.*;
/**
* @author 作者:Vinsky
* @version 创建时间:2020年3月17日 下午2:01:30
* 类说明 :输入/输出时处理异常
*/
public class Demo09 {
public static void main(String agrs[]){
try{//这是异常捕获器。Java中的io操作都会用到异常捕获器,这样,就算代码块出现问题,程序也能继续下去。
FileOutputStream out=new FileOutputStream("myFile.date");//实例化FileOutputStream,并直接给出文件名。
out.write('H');//将H输出到文件myFile.date中
out.write('H');
out.write('H');
out.write('H');
out.write('H');
out.write('H');
out.close();//关闭输出数据流
}
catch(FileNotFoundException e){//对应上面的try,形成完整的异常捕获器。只有当try块出现错误时,catch才会执行。
System.out.println("错误:未能找到写入文件。");
}
catch(IOException e){
System.out.println("错误:写入失败。");
}
}
}
1.2文件输出流异常
package demo1;
import java.io.*;
/**
* @author 作者:Vinsky
* @version 创建时间:2020年3月17日 下午4:12:18
* 类说明 :
*/
public class demo10 {
public static void main(String agrs[]) {
try {
FileInputStream in= new FileInputStream("myFile.date");
while (in.available()>0)//available()方法适合用于读取本地文件,不适合读取网络数据,因为有可能不完整。
System.out.println(in.read()+" ");//in.read()方法中,in为一个InputStream对象,read()是in的方法,每次读取一个字节的二进制数据。
in.close();//关闭输出流。
}
catch(FileNotFoundException e) {
System.out.println("错误:未能找到文件");
}
catch(EOFException e) {//EOFEception异常是指输入过程中意外跳到了文件/流的末尾
System.out.println("错误:文件意外到达了末尾");
}
catch(IOException e) {
System.out.println("错误:未能读取文件");
}
}
}
说明:FileInputStream和FileOutputStream是文件数据流包,用来进行文件I/O处理。其数据源应该是文件,不支持mark()和reset()方法。
2. 对象流示例
import java.io.*;
import java.util.Date;
public class demo10 {
Date d=new Date();//对象d
FileOutputStream f= new FileOutputStream("date.ser");
ObjectOutputStream s = new ObjectOutputStream(f);//输出文件
try {
s.writeObject(d);//将对象d写入文件
s.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
第八章 图形界面设计
创建窗口
import javax.swing.JFrame;
//这就是在主函数里直接创建的窗口程序
public static void main(String agrs[]) {
JFrame f=new JFrame();//创建窗口对象
f.setTitle("窗口");//窗口标题
f.setSize(300,300);//窗口大小
f.setVisible(true);//窗口显示
f.setLocation(300,400);//窗口初始位置
f.setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭后台
}
直接在主函数中创建的窗口程序。
import javax.swing.JFrame;
//这是在主函数外创建的窗口程序,再由主函数调用
public class MyGameFrame extends JFrame{
public void launchFrame(){
this.setTitle("窗口");
this.setSize(300,300);
this.setVisible(true);
this.setLocation(300,400);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String agrs[]) {
MyGameFrame f=new MyGameFrame();
f.launchFrame();
}
}