好文档 - 专业文书写作范文服务资料分享网站

自考JAVA语言程序设计一课后习题答案和源代码第九章演示教学

天下 分享 时间: 加入收藏 我要投稿 点赞

第九章

2.一个文本,一个按钮。在文本区中输入数据,点击按钮,将文本内容输出到文件。文件通过文件保存对话框制定。

程序运行结果:

: SaveFile.java

保存文件的源文件import java.awt.*;

import java.awt.event.*; import javax.swing.*; import java.io.*; /**

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

* 在文本区中输入数据,点击按钮,将文本内容输出到文件。
* 文件通过文件保存对话框制定。
* @author 黎明你好 */

public class SaveFile extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;// 序列化时为了保持版本的兼容性 private JFileChooser fileChooser;// 文件选择对话框 private JPanel northPanel;// 布局用的 private JButton saveFileButton;// 保存按钮 private JLabel label;// 用来显示文件的绝对路径 private JTextArea textArea;// 文本框 public SaveFile() {

super(第九章,第二题 - 保存文件); label = new JLabel(?);

fileChooser = new JFileChooser(); northPanel = new JPanel();

saveFileButton = new JButton(保存到文件); textArea = new JTextArea(); textArea.setLineWrap(true); );

this.addActionListener(saveFileButton northPanel.add(saveFileButton);

this.add(northPanel, BorderLayout.NORTH);

this.add(new JScrollPane(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(); }

public void actionPerformed(ActionEvent e) // 监听器方法 {

if (e.getSource() == saveFileButton) {

int message = fileChooser.showSaveDialog(this); if (message == JFileChooser.APPROVE_OPTION) {

File file = fileChooser.getSelectedFile();

label.setText(保存到: + file.getAbsolutePath());// 在label上显示这个文件的绝对路径

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

label.setText(没有文件被选中); } } } /**

* 把文本区上的内容保存到指定文件上 * @param f - 保存到的文件对象 */

public void saveFile(File f) { try

{

FileWriter file = new FileWriter(f);

BufferedWriter out = new BufferedWriter(file); out.write(textArea.getText(), 0, textArea.getText().length()); out.close(); }

catch( Exception e ) {

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

public static void main(String[] args) {

new SaveFile(); } }

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

程序运行结果:

FileIntegerSum.java

计算文件中的整数和源文件:import java.awt.*;

import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; /**

* 9.3 在一个文件中,每行存的是整数,各行整数个数不等,
* 要求读如这个文件,然后计算每行整数的和,并存到另一个文件中。
* @author 黎明你好 * */

public class FileIntegerSum extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;

private JButton buttonSave, buttonCount, buttonOpen;// 按钮:保存,计算,保存 private JTextArea textArea;//文本区

private JLabel label;//显示当前文件的绝对路径的label private JFileChooser filedialog;//文件选择对话框 private JPanel panel;//布局用的panel private File file = null;//文件对象

public FileIntegerSum() {

super(第九章,第三题 - 整数求和); buttonOpen = new JButton(打开文件); buttonSave = new JButton(保存到?尮); buttonCount = new JButton(计算结果); label = new JLabel(?); panel = new JPanel(); textArea = new JTextArea(); filedialog = new JFileChooser();

filedialog.addChoosableFileFilter(new MyFileFilter(瑜瑸)); buttonOpen.addActionListener(this); buttonSave.addActionListener(this);

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

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

CENTER), BorderLayout.textArea JScrollPane(new.add(this this.add(label, BorderLayout.SOUTH); this.setBounds(50, 50, 500, 300); this.validate(); this.setVisible( true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); }

public void actionPerformed(ActionEvent e) {

if (e.getSource() == buttonOpen) {

filedialog.setDialogTitle( 打开);

int result = filedialog.showOpenDialog(this ); if (result == JFileChooser.APPROVE_OPTION) {

file = filedialog.getSelectedFile(); label.setText(\\ + file.getAbsolutePath()); readFiletoText(file); }

else if (result == JFileChooser.CANCEL_OPTION) label.setText(你没有选择任何文件屜屮); }

if (e.getSource() == buttonSave ) {

filedialog.setDialogTitle(另存为);

int result = filedialog.showSaveDialog(this); if (result == JFileChooser. APPROVE_OPTION) {

file = filedialog.getSelectedFile(); label.setText(\\ + file.getAbsolutePath()); saveAsText(file); }

else if (result == JFileChooser. CANCEL_OPTION) {

label.setText(你没有选择任何文件屜屮); } }

if (e.getSource() == buttonCount) {

textArea .setText(null); if (this.file != null) countResult( file); } } /**

* 将指定的文件显示在文本区上 * @param file - 指定的文件 */

public void readFiletoText(File file) { try {

FileReader file_reader = new FileReader(file); BufferedReader in = new BufferedReader(file_reader); String ss = new String();

while ((ss = in.readLine()) != null) {

textArea.append(ss + '\\n'); }

in.close(); }

catch( FileNotFoundException e2 ) {

自考JAVA语言程序设计一课后习题答案和源代码第九章演示教学

第九章2.一个文本,一个按钮。在文本区中输入数据,点击按钮,将文本内容输出到文件。文件通过文件保存对话框制定。程序运行结果::SaveFile.java保存文件的源文件importjava.awt.*;importjava.awt.event.*;impor
推荐度:
点击下载文档文档为doc格式
8b6ib1cx6b2r4yi9c8hj79c964hjsm00lhm
领取福利

微信扫码领取福利

微信扫码分享