ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:175.50KB ,
资源ID:1616930      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1616930.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java实验指导(4)-io流.doc)为本站会员(99****p)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

Java实验指导(4)-io流.doc

1、1实验 4:输入输出流一、实验目的1. 理解 I/O 流的概念,掌握其分类,掌握 Java I/O 基本原理。2. 掌握对硬盘上的文件和目录进行操作的基本方法。3. 掌握 FileInputStream、FileOutputStream 类的基本使用方法。4. 掌握 FileReader 类 、FileWriter 类的使用。5. 掌握 BufferedWriter 类 、BufferedWriter 类的使用。6. 掌握 RandomAccessFile 类的使用。7. 掌握对象序列化的方法及 ObjectInputStream、ObjectOutputStream 类的基本使用方法。二、实

2、验要求本次实验要求以 Eclipse 为开发平台。三、实验内容与步骤1编写一个 Java Application 程序,实现如下的设计功能:运行该程序可以列出当前目录下的所有文件。import java.io.*;public class sy1 public static void main(String args)File file= new File(“D:“);file.mkdir();Filef1=file.listFiles();for(int i=0;if1.length;i+)if(f1i.isDirectory()System.out.println(“dirctory is

3、“+f1i.getName();elseSystem.out.println(“flie is“+f1i.getName();2编写一个 Java Application 程序(文件名为 CopyFile.java) ,要求通过字节流从该文件中读取数据并写入到“temp.txt”文件中去,实现该文件的复制。import java.io.*;public class CopyFile public static void main(String args)2int a;byte b=“你好吗,逗比“.getBytes();tryFileOutputStream out=new FileOutpu

4、tStream(“D:jdk1.8.0_20新建文件夹zzjsrczzjtemp.txt“);out.write(b);out.close();catch(IOException e)System.out.println(“error“+e);3编写一个程序(文件名为 ReadExample.java) ,将程序文件本身的内容每行开头添加上行号拷贝到另一个文件 tempfile.txt 中。import java.io.*;public class ReadExample public static void main(String args)int a;char b=new char18;t

5、ryFile f=new File(“D:jdk1.8.0_20新建文件夹zzjsrczzjReadExample.java“);FileReader in=new FileReader(f);FileWriter out=new FileWriter(“D:jdk1.8.0_20新建文件夹zzjsrczzjtempfile.txt“);while(a=in.read(b,0,18)!=-1)String s=new String(b,0,18);out.write(b);System.out.print(b);in.close();out.close();catch(IOException

6、e)System.out.println(“error“+e);34现在有如下格式的学生成绩单(文本格式)score.txt:姓名:张三,数学 72 分,物理 67 分,英语 70 分.姓名:李四,数学 92 分,物理 98 分,英语 88 分.姓名:周五,数学 68 分,物理 80 分,英语 77 分.要求按行读入成绩单,并在该行的后面加上该运动员的总成绩,然后再将该行写入到一个名字为 socreAnalysis.txt 的文件中。请按如下的程序模板中的要求,将【代码】替换为 Java 程序代码,以完成该程序。Fenxi.java 文件清单:import java.util.*;public

7、 class Fenxi public static int getTotalScore(String s) String regex=“0123456789“ ; /匹配非数字的正则表达式String digitMess=s.replaceAll(regex,“*“); StringTokenizer fenxi = new StringTokenizer(digitMess,“*“);int totalScore=0;while(fenxi.hasMoreTokens()int score = Integer.parseInt(fenxi.nextToken();totalScore =

8、totalScore+score; return totalScore; AnalysisResult.java 文件清单:import java.io.*;import java.util.*;public class AnalysisResult public static void main(String args) File fRead = new File(“score.txt“);File fWrite = new File(“socreAnalysis.txt“);try Writer out = 【代码 1】/创建指向文件 fWrite 的文件输出流对象 outBuffered

9、Writer bufferWrite = 【代码 2】/创建指向 out 的bufferWrite 流Reader in = 【代码 3】/创建指向文件 fRead 的文件输入流对象 inBufferedReader bufferRead =【代码 4】/创建指向 in 的缓冲流String str = null;while(str=bufferRead.readLine()!=null) int totalScore=Fenxi.getTotalScore(str);str = str+“总成绩:“+totalScore;System.out.println(str);bufferWrite

10、.write(str);bufferWrite.newLine();bufferRead.close();bufferWrite.close(); catch(IOException e) 4System.out.println(e.toString();class AnalysisResult public static void main(String args) File fRead = new File(“D:jdk1.8.0_20新建文件夹zzjsrczzjscore.txt“);File fWrite = new File(“D:jdk1.8.0_20新建文件夹zzjsrczzjs

11、ocreAnalysis.txt“);try Writer out =new FileWriter(fWrite);BufferedWriter bufferWrite =new BufferedWriter(out);Reader in =new FileReader(fRead);BufferedReader bufferRead =new BufferedReader(in);String str = null;while(str=bufferRead.readLine()!=null) int totalScore=Fenxi.getTotalScore(str);str = str+

12、“总成绩:“+totalScore;System.out.println(str);bufferWrite.write(str);bufferWrite.newLine();bufferRead.close();bufferWrite.close(); catch(IOException e) System.out.println(e.toString();5编写一个程序,利用缓冲流实现接收键盘输入的数据,并写入到指定文件中(如当前目录下的 tt.txt 文件)的功能,要求键盘输入”exit”时结束。(提示:)import java.io.*;import java.util.Scanner;

13、public class sy5 5public static void main(String args) Scanner sc=new Scanner(System.in);String s = sc.next();tryFileWriter out=new FileWriter(“D:jdk1.8.0_20新建文件夹zzjsrczzjtt.txt“);while(s=“exit“)BufferedWriter br=new BufferedWriter(out);br.write(s);s=sc.next();catch(IOException e)System.out.println(

14、“error“+e);6下面的程序使用随机流进行文件的保存和读取,请按如下的程序模板中的要求,将【代码】替换为 Java 程序代码,以完成该程序,使得程序在控制台的输出结果如下:程序清单:import java.io.*;public class testRandom2 public static void main(String args) try RandomAccessFile rf = new RandomAccessFile(“rtest.dat“, “rw“);for (int i = 0; i 10; i+) rf.writeInt(i);rf.writeDouble(i * 1

15、.414);rf.close();rf = new RandomAccessFile(“rtest.dat“, “rw“);6rf.seek (【代码1】);rf.writeInt(47);rf.writeDouble(47.00021);rf.close();rf = new RandomAccessFile(“rtest.dat“, “r“);for (int i = 0; i 10; i+) ;System.out.println(“Value “ + rf.readInt() + “: “+【代码2】);rf.【代码3】; catch (IOException e) System.ou

16、t.println(e.toString();import java.io.*;public class testRandom2 public static void main(String args) try RandomAccessFile rf = new RandomAccessFile(“rtest.dat“, “rw“);for (int i = 0; i 10; i+) rf.writeInt(i);rf.writeDouble(i * 1.414);rf.close();rf = new RandomAccessFile(“rtest.dat“, “rw“);rf.seek (

17、0);rf.writeInt(47);rf.writeDouble(47.00021);rf.close();rf = new RandomAccessFile(“rtest.dat“, “r“);for (int i = 0; i 10; i+) ;System.out.println(“Value “ + rf.readInt() + “: “+rf.readDouble();rf.close(); catch (IOException e) System.out.println(e.toString();77. 下面的程序使用对象的序列化及对象流进行对象的保存和读取,请按如下的程序模板中

18、的要求,将【代码】替换为 Java 程序代码,以完成该程序。程序清单:import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class SerializableDemo public static void main(String args) throws Except

19、ion student stu = new student(20131064, “张三“, 20, “西华大学“);FileOutputStream fout = new FileOutputStream(“data1.ser“);ObjectOutputStream oout = new 【代码1】;/ 输出对象oout.writeObject(stu);oout.close();stu = null;FileInputStream fin = new 【代码2】;ObjectInputStream oin = new 【代码3】;/ 读入对象stu = 【代码4】;oin.close();

20、System.out.println(“学生信息:“);System.out.println(“ID: “ + stu.id);System.out.println(“name: “ + stu.name);System.out.println(“age: “ + stu.age);System.out.println(“department:“ + stu.department);class student implements Serializable int id;String name;int age;String department;public student(int id, S

21、tring name, int age, String department) this.id = id;this.name = name;8this.age = age;this.department = department;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;

22、public class SerializableDemo private static student stu;public static void main(String args) throws Exception stu = new student(20131064, “张三“, 20, “西华大学“);FileOutputStream fout = new FileOutputStream(“data1.ser“);ObjectOutputStream oout = new ObjectOutputStream(fout);oout.writeObject(stu);oout.clo

23、se();stu = null;FileInputStream fin = new FileInputStream(“data1.ser“);ObjectInputStream oin = new ObjectInputStream(fin);stu =new student(20131064, “张三“ , 20, “西华大学“ );oin.close();System.out.println(“学生信息:“ );System.out.println(“ID: “+stu.id);System.out.println(“name: “+ stu.name);System.out.printl

24、n(“age: “ + stu.age);System.out.println(“department:“ + stu.department);class student implements Serializable int id;String name;int age;String department;public student(int id, String name, int age, String department) this.id = id;this.name = name;9this.age = age;this.department = department;8. 下面的

25、程序以字节为单位进行文件的读写操作,请阅读并分析该程序,上机运行查看效果,然后修改程序,使其以字符流方式进行文件的读写操作。程序清单:import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class readerbyte extends JFrame implements ActionListener JButton b1, b2, b3;JTextField jt1;JTextArea jt2;readerbyte() setTitle(“FileInputStream-F

26、ileOutputStream演示“);getContentPane().setLayout(new FlowLayout();this.setDefaultLookAndFeelDecorated(true);this.setSize(450, 350);b1 = new JButton(“写入“);b2 = new JButton(“读取“);b3 = new JButton(“退出“);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);jt1 = new JTextField(

27、10);jt2 = new JTextArea(10, 30);jt2.setLineWrap(true);jt2.setWrapStyleWord(true);JScrollPane jspa = new JScrollPane(jt2);JPanel p1 = new JPanel();p1.add(new JLabel(“请输入文件名:“);p1.add(jt1);JPanel p2 = new JPanel();p2.add(new JLabel(“文件内容:“);10p2.add(jspa);JPanel p3 = new JPanel();p3.add(b1);p3.add(b2)

28、;p3.add(b3);getContentPane().add(p1);getContentPane().add(p2);getContentPane().add(p3);setVisible(true);public void actionPerformed(ActionEvent ee) if (ee.getSource() = b3) dispose();System.exit(0);if (ee.getSource() = b1)writer();if (ee.getSource() = b2)reader();void writer() String s1, s2;s1 = jt1

29、.getText().trim();if (s1.equals(“) JOptionPane.showMessageDialog(null, “没有输入文件名“);jt1.requestFocus(); else s2 = jt2.getText().trim();char s22 = s2.toCharArray();try FileOutputStream file = new FileOutputStream(s1);for (int i = 0; i s22.length; i+)file.write(s22i);file.close(); catch (IOException ie) jt1.setText(“);jt2.setText(“);

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。