图书馆用文本文件booklist.txt记录图书的书目,其中包括book1,book2,.....,book10.现在又要采购一批新书,编写程序将新的书目添加到目录中。

图书馆用文本文件booklist.txt记录图书的书目,其中包括book1,book2,…,book10.现在又要采购一批新书,编写程序将新的书目添加到目录中。

package p2;

import java.awt.Button;

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Vector;

public class booklist extends Frame implements ActionListener 
{
	Vector savestring=new Vector();
	Frame f;
	TextField addbook;
	TextArea listbook;
	Label l1,l2;
	Button bopen,bexit,bsave,badd;//定义四个按钮
	
	public static void main(String args[])
	{
		booklist b1=new booklist();
		b1.init();
	}
	
	public void init()
	{
		f=new Frame("booklist");
		f.setLayout(new FlowLayout());//布局管理器
		//两个标签
		l1=new Label("pls add your book here",Label.RIGHT);
		l2=new Label("Book list");
		//书名输入域
		listbook=new TextArea("", 7, 40, TextArea.SCROLLBARS_BOTH);
		
		
		bopen=new Button("open");
		bsave=new Button("save");
		bexit=new Button("exit");
		badd=new Button("add");
		
		//给四个按钮添加注册监听器
		bexit.addActionListener(this);
		bopen.addActionListener(this);
		bsave.addActionListener(this);
		badd.addActionListener(this);
		
		//将基本元素放到框架中
		f.add(l1);
		f.add(addbook);
		f.add(l2);
		f.add(listbook);
		f.add(bopen);
		f.add(bsave);
		f.add(bexit);
		f.add(badd);
		
		//初始时,添加按钮及保存按钮都设置为不可按状态
		badd.setEnabled(false);
		bsave.setEnabled(false);
		f.setSize(300, 320);
		f.setVisible(true);
	}
	
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==bexit)//判定是哪个按钮
			System.exit(0);//退出
		if(e.getSource()==bopen)//打开文件按钮
		{
			try 
			{
			FileInputStream booklist=new FileInputStream("E:\\java\\javabook\\booklist.txt");//指定目录下的文件
			BufferedReader in=new BufferedReader(new InputStreamReader(booklist));
			for(int i=0;;)
			{
				String book=in.readLine();
				if(book==null)
					break;
				listbook.append(book+"\n");//在内容框内显示
				savestring.addElement(book);
			} 
			badd.setEnabled(true);//有内容后添加按钮可以用
			bsave.setEnabled(true);//有内容后保存按钮可以用
			in.close();
			booklist.close();
			} catch (FileNotFoundException ee) {
				// TODO: handle exception
				ee.printStackTrace();
			}catch (IOException ee) {
				// TODO: handle exception
				ee.printStackTrace();
			}
		}
		if(e.getSource()==badd)//添加按钮的处理
		{
			String txt=addbook.getText();
			if(txt==null)
				return;
			else
			{
				listbook.append(txt+"\n");
				savestring.addElement(txt);
			}
		}
		if(e.getSource()==bsave)//保存按钮的处理
		{
			try 
			{
				FileOutputStream booklist=new FileOutputStream("E:\\java\\javabook\\booklist.txt");
				BufferedWriter out=new BufferedWriter(new OutputStreamWriter(booklist));
				for(int i=0;i<savestring.size();i++)
				{
					String book=savestring.elementAt(i).toString();
					out.write(book+"\n");
				}
				out.close();
				booklist.close();
			} catch (FileNotFoundException ee) {
				// TODO: handle exception
				ee.printStackTrace();
			}catch (IOException ee) {
				// TODO: handle exception
				ee.printStackTrace();
			}
		}
	}
	
	
	
	
}

上一篇:Python操作xml


下一篇:dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic