黑马程序员JAVA编程阶梯:基础篇之第二十三章(2)

2020-02-21 18:28

11 * */

12 public class Demo {

13 private static Scanner sc; 14

15 public static void main(String[] args) throws IOException { 16 sc = new Scanner(System.in);

17 System.out.println(\请输入一个源文件夹路径\18 String str_oldFile = sc.nextLine();

19 System.out.println(\请输入一个目的文件夹路径\20 String str_newFile = sc.nextLine(); 21 sc.close();

22 File oldFile = new File(str_oldFile); 23 File newFile = new File(str_newFile); 24 MyCopy(oldFile, newFile); 25 } 26

27 public static void MyCopy(File oldFile, File newFile) throws IOException { 28 if (!oldFile.exists()) // 判断源文件是不是存在,如果不存在,声明. 29 {

30 System.out.println(\文件不存在\31 }

32 // 新的目录,加上旧的文件名.就成了一个新的文件.但是此时还没有具体文件.

黑马程序员济南中心 编著

33 File f = new File(newFile.getPath() + \34 System.out.println(\

35 f.mkdir(); // 创建新的文件夹 &&&重要的一部分.这里是建立一个具体的文件夹,此时新旧文件夹36 相同了.

37 File[] files = oldFile.listFiles(); // 列出旧文件夹里的所有文件. 38 for (File file : files) // 遍历这个文件夹里面的文件.. 39 {

40 if (file.isDirectory()) // 如果还是文件夹,就递归. 41 {

42 MyCopy(file, f);

43 } else // 否则就可以,用IO流来读写文件了. 44 {

45 BufferedInputStream bis = new BufferedInputStream( 46 new FileInputStream(file));

47 BufferedOutputStream bos = new BufferedOutputStream( 48 new FileOutputStream(f.getPath() + \49 + file.getName())); 50 int b = 0;

51 while ((b = bis.read()) != -1) { 52 bos.write(b); 53 }

54 bis.close();

黑马程序员济南中心 编著

55 bos.close();

56 System.out.println(file.getName() + \拷贝完成!\57 } } } }

?

File类递归练习(按层级打印)

从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印, [Java] 纯文本查看 复制代码 ? 01 /**

02 * 从键盘接受一个字符串,这个字符串是一个文件目录. 将该目录中所有的文件打印在控制台上. 03 * 思路: 1.从键盘录入,得到一个字符串, 04 * 2.通过该字符串,创建一个文件夹,

05 * 3.将该文件夹进行遍历,如果是一个文件夹,那么就进行递归, 否则,就将文件名称打印在控制台. 06 * 07 * */

08 public class Demo {

09 public static void main(String[] args) { 10 SystemInFileName();

黑马程序员济南中心 编著

11 } 12

13 public static void SystemInFileName() { 14 Scanner sc = new Scanner(System.in); 15 while (true) {

16 System.out.println(\输入文件夹路径,注意不能是盘符根目录\17 String str = sc.nextLine(); 18 File fi = new File(str);

19 if (!fi.exists() && !fi.isDirectory()) {

20 System.out.println(\请输入正确的路径文件夹路径\21 } else {

22 System.out.println(\路径:\23 ListFile(fi); 24 } 25 } 26 } 27

28 public static void ListFile(File fi) { 29

30 File[] ff = fi.listFiles(); 31 for (File f : ff) {

32 if (f.isDirectory()) {

黑马程序员济南中心 编著

33 System.out.println(\文件夹:\34 ListFile(f); 35 } else {

36 System.out.println(f.getName()); 37 } 38 } 39 } 40 }

?

递归练习(斐波那契数列)

[Java] 纯文本查看 复制代码 ? 01 /**

02 * 假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对03 一年内没有发生死亡

04 * , 问:一对刚出生的兔子,一年内繁殖成多少对兔子? 1 1 2 3 5 8 13 05 *

06 * @author Somnus 07 * 08 */

09 public class Demo {

黑马程序员济南中心 编著


黑马程序员JAVA编程阶梯:基础篇之第二十三章(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高考历史冲刺押题小题训练(选择题)3(含解析)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: