您的位置:首页 » 实验报告答案 » Java简明教程 第3版 实验报告及答案)

Java简明教程 第3版 实验报告及答案)

Java简明教程 第3版 实验报告及答案) - 封面

实验报告配套教材:

书名:Java简明教程 第3版
作者:皮德常
出版社:清华大学出版社

实验报告概述:

一、实验名称 面向流的编程和对象序列化 二、实验目的和要求 1、掌握Java流的工作方式; 2、掌握常用输入和输出流的使用; 3、掌握文件的访问、目录和文件管理类的使用 三、实验内容和结果 1、程序整体功能 实验内容: 1、编写程序实现以下功能: (1)提示用户输入文件要存储的路径(例如c:\test) (2)检查用户指定的路径中的文件夹是否存在,如果不存在,则创建这个文件夹 (3)提示用户输入文件名称 (4)检查步骤(1)的文件夹是否存在此文件名的文件,如果存在,则提示用户文件已经存在,要求用户重新输入,返回步骤(3) (5)提示用户分别录入图书名称,出版社,价格,数量,是否教材(boolean类型)等信息 (6)将用户录入的图书信息用文件流的方式写入到步骤(4)确定的文件中 (7)询问用户是否结束录入图书信息,如果用户输入n,则返回步骤(5),否则关闭文件 (8)从用户输入的文件中把用户输入的图书信息读取,逐行显示在屏幕上,并最后显示图书的个数 2、设计思路说明 3、重要类、数据结构、模块/函数算法说明 输入路径 判断路径是否存在 建立文件 static void fang1(){ System.out.println("请输入文件路径:"); try { Scanner sc = new Scanner(System.in); m = sc.next(); File f = new File(m); while(f.exists()){ System.out.println("路径已存在请重新输入:"); System.out.println(f.getAbsolutePath()); m = sc.next(); f = new File(m); } f.getParentFile().mkdirs(); f.createNewFile(); } catch (IOException e) {} 分别录入图书的信息 并判断是否再次录入 将录入的信息写入方法一建立的文件中 static void fang2(){ String xu; do{ i++; System.out.println("请输入图书"+i+"名称"); Scanner a = new Scanner(System.in); String x1 = "图书"+i+"名称:"+a.next(); System.out.println("请输入出版社"); Scanner b = new Scanner(System.in); String x2 = " 出版社:"+b.next(); System.out.println("请输入价格"); Scanner c = new Scanner(System.in); String x3 = " 图书定价:"+c.next(); System.out.println("请输入数量"); Scanner d = new Scanner(System.in); String x11 = d.next(); String x4 = " 图书的数量:"+x11; int mn = Integer.parseInt(x11); xx += mn; System.out.println("是不是教材输入是\\否"); Scanner e = new Scanner(System.in); String x5 = " 图书是教材吗?"+e.next(); String s = x1+x2+x3+x4+x5; try { OutputStreamWriter sn = new OutputStreamWriter(new FileOutputStream(m,true)); sn.write(s+"\r\n"); sn.close();} catch (IOException ex) {} System.out.println("是否结束输入?结束请输入y,否输入n"); Scanner fc = new Scanner(System.in); xu = fc.next(); }while(xu.equals("n")); } 将录入信息读取出来 并输出在控制台上 static void fang3(){ try { int mm; InputStreamReader ttt = new InputStreamReader(new FileInputStream(m)); BufferedReader sn = new BufferedReader(ttt); while((mm=sn.read())!=-1) { System.out.print((char)mm);} } catch (IOException e) {} System.out.println("总共录入了:"+i+" 种图书"); System.out.println("总共录入了:"+xx+" 本图书"); System.out.println(" xuehao"); } } public class XXBooks{ public static void main(String [] args){ lei.fang1(); lei.fang2(); lei.fang3(); } }