自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc

上传人:b****2 文档编号:1646386 上传时间:2022-10-23 格式:DOC 页数:13 大小:396KB
下载 相关 举报
自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc_第1页
第1页 / 共13页
自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc_第2页
第2页 / 共13页
自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc_第3页
第3页 / 共13页
自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc_第4页
第4页 / 共13页
自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc

《自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc》由会员分享,可在线阅读,更多相关《自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc(13页珍藏版)》请在冰豆网上搜索。

自考JAVA语言程序设计(一)课后习题答案和源代码(第九章).doc

第九章

2.一个文本,一个按钮。

在文本区中输入数据,点击按钮,将文本内容输出到文件。

文件通过文件保存对话框制定。

程序运行结果:

保存文件的源文件:

SaveFile.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

/**

*9.2一个文本,一个按钮。


*在文本区中输入数据,点击按钮,将文本内容输出到文件。


*文件通过文件保存对话框制定。


*@author黎明你好

*/

publicclassSaveFileextendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;//序列化时为了保持版本的兼容性

privateJFileChooserfileChooser;//文件选择对话框

privateJPanelnorthPanel;//布局用的

privateJButtonsaveFileButton;//保存按钮

privateJLabellabel;//用来显示文件的绝对路径

privateJTextAreatextArea;//文本框

publicSaveFile()

{

super("第九章,第二题-保存文件");

label=newJLabel("");

fileChooser=newJFileChooser();

northPanel=newJPanel();

saveFileButton=newJButton("保存到文件");

textArea=newJTextArea();

textArea.setLineWrap(true);

saveFileButton.addActionListener(this);

northPanel.add(saveFileButton);

this.add(northPanel,BorderLayout.NORTH);

this.add(newJScrollPane(textArea),BorderLayout.CENTER);

this.add(label,BorderLayout.SOUTH);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setBounds(50,50,500,500);

this.setVisible(true);

this.validate();

}

publicvoidactionPerformed(ActionEvente)//监听器方法

{

if(e.getSource()==saveFileButton)

{

intmessage=fileChooser.showSaveDialog(this);

if(message==JFileChooser.APPROVE_OPTION)

{

Filefile=fileChooser.getSelectedFile();

label.setText("保存到:

"+file.getAbsolutePath());//在label上显示这个文件的绝对路径

this.setTitle(file.getName());//设置JFrame的title为文件的名字

saveFile(file);

}

else

{

label.setText("没有文件被选中");

}

}

}

/**

*把文本区上的内容保存到指定文件上

*@paramf-保存到的文件对象

*/

publicvoidsaveFile(Filef)

{

try

{

FileWriterfile=newFileWriter(f);

BufferedWriterout=newBufferedWriter(file);

out.write(textArea.getText(),0,textArea.getText().length());

out.close();

}

catch(Exceptione)

{

label.setText("写文件发生错误");

}

}

publicstaticvoidmain(String[]args)

{

newSaveFile();

}

}

3.在一个文件中,每行存的是整数,各行整数个数不等,要求读这个文件,然后计算每行整数的和,并存到另一个文件中。

程序运行结果:

计算文件中的整数和源文件:

FileIntegerSum.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

/**

*9.3在一个文件中,每行存的是整数,各行整数个数不等,

*要求读如这个文件,然后计算每行整数的和,并存到另一个文件中。


*@author黎明你好

*

*/

publicclassFileIntegerSumextendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;

privateJButtonbuttonSave,buttonCount,buttonOpen;//按钮:

保存,计算,保存

privateJTextAreatextArea;//文本区

privateJLabellabel;//显示当前文件的绝对路径的label

privateJFileChooserfiledialog;//文件选择对话框

privateJPanelpanel;//布局用的panel

privateFilefile=null;//文件对象

publicFileIntegerSum()

{

super("第九章,第三题-整数求和");

buttonOpen=newJButton("打开文件");

buttonSave=newJButton("保存到...");

buttonCount=newJButton("计算结果");

label=newJLabel("");

panel=newJPanel();

textArea=newJTextArea();

filedialog=newJFileChooser();

filedialog.addChoosableFileFilter(newMyFileFilter("txt"));

buttonOpen.addActionListener(this);

buttonSave.addActionListener(this);

buttonCount.addActionListener(this);//给按钮加监控

panel.add(buttonOpen);

panel.add(buttonCount);

panel.add(buttonSave);//把按钮添加到panel面板上

this.add(panel,BorderLayout.NORTH);

this.add(newJScrollPane(textArea),BorderLayout.CENTER);

this.add(label,BorderLayout.SOUTH);

this.setBounds(50,50,500,300);

this.validate();

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==buttonOpen)

{

filedialog.setDialogTitle("打开");

intresult=filedialog.showOpenDialog(this);

if(result==JFileChooser.APPROVE_OPTION)

{

file=filedialog.getSelectedFile();

label.setText(""+file.getAbsolutePath());

readFiletoText(file);

}

elseif(result==JFileChooser.CANCEL_OPTION)

label.setText("你没有选择任何文件\n");

}

if(e.getSource()==buttonSave)

{

filedialog.setDialogTitle("另存为");

intresult=filedialog.showSaveDialog(this);

if(result==JFileChooser.APPROVE_OPTION)

{

file=filedialog.getSelectedFile();

label.setText(""+file.getAbsolutePath());

saveAsText(file);

}

elseif(result==JFileChooser.CANCEL_OPTION)

{

label.setText("你没有选择任何文件\n");

}

}

if(e.getSource()==buttonCount)

{

textArea.setText(null);

if(this.file!

=null)

countResult(file);

}

}

/**

*将指定的文件显示在文本区上

*@paramfile-指定的文件

*/

publicvoidreadFiletoText(Filefile)

{

try

{

FileReaderfile_reader=newFileReader(file);

BufferedReaderin=newBufferedReader(file_reader);

Stringss=newString();

while((ss=in.readLin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1