java第九次作业

1.用思维导图对javaIO操作的学习内容进行总结。###

2.下面的程序实现了文件的拷贝,但采用的是一个字节一个字节的读写方式,效率很低。使用缓冲区可以减少对文件的操作次数,从而提高读写数据的效率。IO包中提供了两个带缓冲的字节BufferedInputStreamBufferedOutputStream,查阅JDK帮助文档,修改程序,利用这两个类完成文件拷贝,对比执行效率。###

之前的程序为:

修改后的程序为:

实验内容:1.宠物商店:在实验八的基础上,增加一个功能,用文件保存每日的交易信息记录。2.完成文件复制操作,在程序运行后,提示输入源文件路径和目标文件路径。完成实验内容,代码上传到码云,注意,宠物商店要求务必将创建数据库的脚本文件随项目文件一起上传,在随笔中分析程序设计思路,用PowerDesigner画出类图结构,并对完成实验内容过程中遇到的问题、解决方案和思考等进行归纳总结,注意代码中必须有必要的注释。###

程序设计思路:就是在之前的基础上除了添加功能一并监听实现功能之类,还要有购买方法,还有创建和修改记录文件的方法。

问题1:当文本数据存储一个文件之中,当指定绝对路径时候定义目录分隔符时候的方式有什么?

原因:面临数据文件的目录路径的问题。

解决方案:1.反斜线 \ 要写两个。2.斜线 / 写一个即可。

问题2:常见的获取文件的方法都有什么?
原因:面临验证的问题,见证文件的路径是否有效,文件是否存在,文件的名称是否冲突和符合的问题等等。

解决方案:
1).创建:
  boolean createNewFile()throws IOException:创建文件,如果被创建的文件已经存在,则不创建。
  boolean mkdir():创建文件夹。
  boolean mkdirs():创建多级文件夹。
 2).删除:
  boolean delete():可用于删除文件或者文件夹。
  注意:对于文件夹只能删除不带内容的空文件夹,对于带有内容的文件夹,不可以直接删除,必须要从里往外删除。
  void deleteOnExit();删除动作交给系统完成。无论是否发生异常,系统在退出时执行删除动作。
 3).判断:
  boolean canExecute(); boolean canWrite(); boolean canRead();
  boolean exists():判断文件或者文件夹是否存在。
  boolean isFile():判断File对象中封装的是否是文件。
  boolean isDirectory():判断File对象中封装的是否是文件夹。
  boolean isHidden():判断文件或者文件夹是否隐藏。在获取硬盘文件或者文件夹时,对于系统目录中的文件,java是无法访问的,所以在遍历时,可以避免遍历隐藏文件。
 4).获取:
  getName():获取文件或者文件夹的名称。
  getPath():File对象中封装的路径是什么,获取的就是什么.
  getAbsolutePath():无论File对象中封装的路径是什么,获取的都是绝对路径。
  getParent():获取File对象封装文件或者文件夹的你目录。注意:如果封装的是相对路径,那么返回的是null.
  long length:获取文件大小。
  long lastModified():获取文件最后一次修改时间。
  Static File[] listRoots():获取系统中的有效盘符。
  String[] list():获取指定目录下当前的文件以及文件夹名称。
  String[] list(Filenamefilter):可以根据指定的过滤器,过滤后的文件及文件夹名称。
  File[] listFiles():获取指定目录下的文件以及文件夹对象。
 5).重命名:
  renameTo(File):
   File f1 = new File("C:\a.txt");
   File f2 = new File("C:\b.txt");
   f1.renameTo(f2);//将c盘下的a.txt文件改名为b.txt文件

4.码云截图###

码云链接https://git.oschina.net/hebau_cs15/cg.git

posted @ 2017-05-22 09:40  计科陈刚  阅读(191)  评论(0编辑  收藏  举报