Java 第九次作业
(一)学习总结###
1.思维导图###
2.BufferedInputStream
和BufferedOutputStream
的执行效率比较###
-
采用的是一个字节一个字节的读写方式###
- 文件拷贝完成,耗时1141毫秒
-
带缓冲的字节流
BufferedInputStream
和BufferedOutputStream
###-
文件拷贝完成,耗时15毫秒
-
代码
-
import java.io.*;
public class Test {
public static void main(String args[]) {
FileInputStream in = null;
FileOutputStream out = null;
File fSource = new File("d:" + File.separator + "my.jpg");
File fDest = new File("d:"+File.separator+"java"+File.separator+"my.jpg");
if (!fSource.exists()) {
System.out.println("源文件不存在");
System.exit(1);
}
if (!fDest.getParentFile().exists()) {
fDest.getParentFile().mkdirs();
}
try {
in = new FileInputStream(fSource);
out = new FileOutputStream(fDest);
byte[] b = new byte[1024];
int len = 0;
long begintime = System.currentTimeMillis();
while ((len = in.read(b)) != -1) {
out.write(b,0,len);
}
long endtime = System.currentTimeMillis();
System.out.println("文件拷贝完成,耗时" + (endtime - begintime) + "毫秒");
} catch (Exception e) {
System.out.println("文件操作失败");
} finally {
try {
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
3.其他需要总结的内容###
-
输入流和输出流
-
输入流连在某个产生数据的设备上,从输入流中读取数据
-
输出流连在某个接收数据的设备上,把结果写出到输出流中
-
-
生成FileOutputStream对象时
-
如果文件不存在,则创建该文件供程序输出数据
-
如果文件已经存在,则有覆盖和附加两种输出数据的方式
-
覆盖:原文件数据被丢弃,重新输出数据
-
附加:在原文件末尾追加输出数据
-
(二)实验总结###
1.用文件保存交易信息记录###
-
程序设计思路###
-
第一步,创建
WelcomeFrame
界面,点进入系统按钮进入宠物商店管理界面 -
第二步,创建
PetItem
宠物类存放宠物属性,GUITools
类对于界面组件显示的方法 -
第三步,创建
JDBCUtils
类负责数据库连接和关闭操作以及取得一个数据库的连接对象 -
第四步,创建
AdminDao
类是管理员数据访问类,AdminService
类是对AdminDao
类中的方法进行判断,AdminDialog
类是对宠物商店管理界面的按钮组件功能进行实现,MainApp
是运行项目类 -
第五步,创建
FileUtils
类保存销售信息 -
第六步,创建
SellPetItem
类存放销售的宠物的信息属性
-
-
完成的界面###
-
保存的销售记录###
-
类图结构###
-
问题1###
- 只能实现删除功能,不能实现添加功能
-
原因###
- 盲目的复制,导致某个变量没有改变标号
-
问题2###
- 按完进入系统键之后,程序就无法运行啦
-
原因###
- 更换数据库后,只改了
JDBCUtils
里的数据库名字,忘记改AdminDao
里的数据库名字
- 更换数据库后,只改了
-
问题3###
- 写购买方法时会出现语法错误
-
原因###
- 不知道怎么把
int
型的amount
转换成String
类型
- 不知道怎么把
-
解决方案###
- 不用
pet.getAmount()
而用String.valueOf(pet.getAmount())
- 不用
2.文件复制###
-
程序设计思路###
-
采用字节流,采用边读边写的方式
-
提示输入文件路径的提示,如果文件存在完成文件复制,否则提示操作失败
-
-
程序运行结果###
-
类图结构###
-
问题1###
- 程序运行错误,显示文件加载错误
-
原因###
- 我只输入```d:\java\
-
解决方案###
- 应该输入
d:\java\he.jpg
,he.jpg
是文件复制之后的名字
- 应该输入
(三)代码托管###
代码链接###
https://git.oschina.net/hebau_cs15/hebau-cs01GHJ.git