A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雨来 高级黑马   /  2015-12-30 23:26  /  317 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. package com.itheima;
  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. /**
  9. * 题目要求:
  10. *   在指定目录下创建文件(自己定义),必须创建成功,然后从自己的硬盘上找一个.txt文件  把这个txt文件的内容 复制到 a.txt 里。
  11. *
  12. * 在一个指定目录下创建文件,F:\\code    文件名是a.txt
  13. * 请保证文件创建成功
  14. * 分析:如果目录不存在,则会抛出异常,为了不抛出异常,我们要先创建这个目录
  15. * 再创建文件  并把一个指定目录下的文件copy在这个a.txt里面
  16. *
  17. */
  18. public class CreatFilesSuccess {
  19. /**
  20.   * @param args
  21.   * @throws IOException
  22.   */
  23. public static void main(String[] args) throws IOException {
  24.   File file = new File("F:\\code\\");//File对象关联这个路径
  25.   //首先判断是否存在
  26.   if(!file.isDirectory()) { //如果不是目录则创建目录
  27.    
  28.    file.mkdirs();
  29.    System.out.println("目录不存在,但已经创建成功!!");
  30.   }
  31.   //创建文件
  32.   File fileResult = new File(file,"a.txt");
  33.   try {
  34.    fileResult.createNewFile();
  35.    //如无异常
  36.    System.out.println("创建文件成功");
  37.   } catch (IOException e) {
  38.    System.out.println("创建文件失败");
  39.   }
  40.   //创建一个File实例有关联  硬盘上的一个目录  如果不存在提示用户 目录文件不存在
  41.   File source = new File("F:\\上海黑马基础1130\\课程资源[url=file://\\day19]\\day19[/url](异常&IO(File类))\\day19_code\\导师代码[url=file://\\day19\\bin\\cn\\itcast\\question2\\]\\day19\\bin\\cn\\itcast\\question2\\[/url]问题说明.txt");

  42.    //System.out.println(source.isFile());
  43.   //创建一个输入流对象关联a.txt
  44.   try {
  45.    if(!source.isFile()) {
  46.    
  47.     System.out.println("关联成功!!Next");
  48.    }
  49.    
  50.   } catch (Exception e) {
  51.    System.out.println("读取源不存在,请确认文件是否存在");
  52.    System.exit(0);//退出虚拟机
  53.   }
  54.   //FileInputStream fis = new FileInputStream(source);
  55.   BufferedInputStream bis = new BufferedInputStream(new FileInputStream(source)); //源
  56.   BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fileResult)); //目的地 fileResut 其实就是让输出流关联到a 也就是我们写入的目的。
  57.   //写入
  58.   int len;
  59.   while((len = bis.read())!=-1) {
  60.    
  61.    bos.write(len);
  62.    
  63.    
  64.   }
  65.   //关流
  66.   bis.close();
  67.   bos.close();
  68.   
  69. }
  70. }


复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马