实验6 Java I/O
一、实验目的
1、掌握使用File类进行文件属性操作; 2、掌握使用文件流进行文件的顺序读写;
二、实验环境
MyEclipse/Eclipse
三、实验内容
(一)基本指导
1、题目:编写一个程序,实现从文件中读出文件内容,并将其打印在屏幕当中,并标注上行号。
操作步骤:
(1)启动MyEclipse,新建一个Java工程:选择菜单File-.New->Java Project,就会弹出创建Java 项目的界面。在Project name的文本框输入“Experiment6”。单击Finish按钮完成工程的创建。
(2)在Package Explorer窗口中单击工程Experiment6前面的“+”号,在“src”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Package中输入“readFileAndPrint”,在Name中输入“ReadFileAndPrint”,选中“public static void main(String[] args)”复选框,单击Finish按钮完成类的创建。这样就创建了一个名称为ReadFileAndPrint的主类。
(3)在ReadFileAndPrint类中输入代码如下:
package readFileAndPrint; import java.io.*;
public class ReadFileAndPrint {
public static void main(String[] args) { } /**
* 读取文件内容,每次读一行 * @param filePath 文件路径 */
public static void fileReader(String filePath) {
File file = new File(filePath); String lineContent = null; int lineNo = 1;
BufferedReader bf = null; try {
bf = new BufferedReader(new FileReader(file)); while ((lineContent = bf.readLine()) != null) {
29
String path = \; fileReader(path);
}
}
}
}
System.out.println(\第\ + lineNo + \行 \ + lineContent); lineNo++;
} catch (Exception e) {
e.printStackTrace(); if (bf != null) { }
try { }
bf.close();
e.printStackTrace(); } catch (IOException e) {
} finally {
(4)在工程Experiment6所在的文件夹下新建一个名为“a.txt”的文本文件,把上面程序复制到“a.txt”文件中。点击工具栏运行按钮,运行结果如图E6-1所示。
图E6-1 运行结果
2、题目:编程查找一个目录下字节数最大的文件(目录下有子目录),输出其文件名、文件字节数和目录下的文件总数。
操作步骤:
(1)在Package Explorer窗口中单击工程Experiment6前面的“+”号,在“src”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Package中输入“findMaxFile”,在Name中输入“FindMaxFile”,单击Finish按钮完成类的创建。这样就创建了一个名称为FindMaxFile的类。
(2)在FindMaxFile类中输入代码如下:
package findMaxFile; import java.io.*; import java.util.*;
public class FindMaxFile {
private long maxFileSize=0;// 文件的最大值。
private String maxFileName = null;// 最大的文件名。
private Map
if (parentFile.isDirectory()) {
30
}
}
// 获取该目录下的所有文件名或者目录名
String childFiles[] = parentFile.list(); for (int i = 0; i < childFiles.length; i++) { }
String path = parentFile.getPath() + File.separator
+ childFiles[i];
findFile(new File(path));// 递归调用
} else if (parentFile.isFile()) { }
return maxFileName;
// 如果该路径是文件,获得它的字节数
long fileByteCount = parentFile.length(); // 将文件名字和他的大小用键值对的形式放到fileMap容器中 fileMap.put(parentFile.getPath(), fileByteCount); if (fileByteCount > maxFileSize) { }
maxFileSize = fileByteCount;
maxFileName = parentFile.getPath();
public void showFileMap() { }
public long getmaxFileSize() { }
public long getSize() { }
return fileMap.size();
return maxFileSize;
System.out.println(fileMap + \);
(3)在Package Explorer窗口中工程Experiment6下“src”下的“findMaxFile”包上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Name中输入“FindMaxFileTest”,选中“public static void main(String[] args)”复选框,单击Finish按钮完成类的创建。这样就创建了一个名称为FindMaxFileTest的主类。
(4)在FindMaxFileTest类中输入代码如下:
package findMaxFile; import java.io.File;
public class FindMaxFileTest {
public static void main(String[] args) {
FindMaxFile fmf = new FindMaxFile();
File file = new File(\ + File.separator + \); System.out.println(\最大文件名为:\ + fmf.findFile(file));
System.out.println(\最大文件所占字节数为:\ + fmf.getmaxFileSize()); System.out.println(\文件总数为:\ + fmf.getSize()); fmf.showFileMap();
31
}
}
(5)点击工具栏运行按钮,运行结果如图E6-2所示。
图E6-2 运行结果
(二)实验练习题
1、编写程序,把程序本身的每一行添加对应的行号后写入一个文本文件中。
2、编写程序,从命令行输入目录名,把该目录下的所有文件后缀名为“.txt”的文件显示在屏幕上(如果没有从命令行输入目录名,则默认为当前目录)。
32
实验7 图形界面设计
一、实验目的
1、掌握图形用户界面各种布局策略的设计与使用; 2、掌握图形用户界面的事件响应机制;
3、掌握图形用户界面的各种常用组件的使用方法。
二、实验环境
MyEclipse/Eclipse
三、实验内容
(一)基本指导
题目:编写一个非常简单的文本编辑器。 操作步骤:
(1)启动MyEclipse,新建一个Java工程:选择菜单File->New->Java Project,就会弹出创建Java 项目的界面。在创建Java 项目的界面中,Project name的文本框用来输入新创建Java 项目的项目名称,这里我们输入“Experiment7”。单击Finish按钮完成工程的创建。
(2)在Package Explorer窗口中单击工程Experiment7前面的“+”号,在“src”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Package中输入“Editer”,在Name中输入“EditerFrame”,单击Superclass后的“Browse...”按钮,在弹出的窗口中的“Choose a type:”文本框中输入“JFrame”,单击OK按钮返回,单击Finish按钮完成类的创建。这样就创建了一个名称为EditerFrame的类。
(3)在EditerFrame类中输入代码如下:
package Editer; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*;
public class EditerFrame extends JFrame {
JPanel topPanel;// 面板容器
JPanel bottonPanel;// 放置按钮的面板
JPanel editorPanel;// 放置文本区滚动面板的面板 JButton loadButton; JButton saveButton; JButton cutButton; JButton copyButton; JButton pasteButton;
JScrollPane scroller;// 放置文本区的滚动面板 JTextArea editor;// 文本区 public EditerFrame() {
JMenuBar menuBar = new JMenuBar();// 菜单栏
33
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java实验指导书(7)在线全文阅读。
相关推荐: