EduCoder Java程序设计---Java面向对象(第八章) - 文件类答案

本文档介绍了使用Java进行文件操作的基本步骤,包括创建文件、目录操作、查看目录结构以及针对图片的特定处理。通过Task类展示了如何新建文件、创建目录、遍历子文件并筛选图片文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第1关 创建文件

package step1;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Scanner;

public class Task {
	
	public void solution()          {
		/********* Begin *********/
		try{
			File file1 = new File("src/output/hello.txt");
			file1.createNewFile();
			File file2 = new File("src/output/test.txt");
			file2.createNewFile();
		}catch(IOException e){
			e.printStackTrace();
		}
		/********* End *********/
	}
}

第2关 文件的常用操作

package step2;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Arrays;
public class Task {
	public static void main(String[] args)throws IOException {
		/********* Begin *********/
		
		File file1 = new File("src/test2");
		file1.mkdir();
		File file2 = new File("src/output/test2.txt");
		file2.delete();
		File file3 = new File("src/test2/helloworld.txt");
		file3.createNewFile();
		File file4 = new File("src/test2/step2.txt");
		file4.createNewFile();


		File dir = new File("src/output");
		File[] files = dir.listFiles();
		

		System.out.println("output目录结构为:");
		Arrays.sort(files);//这里用集合排序
		for(File file : files){
			System.out.println(file.getName());
		}
		System.out.println("test2目录结构为:");
		File dir1 = new File("src/test2");
		File [] files1 = dir1.listFiles();
		for(File file : files1){
			System.out.println(file.getName());
		}
		/********* End *********/
	}
}

第3关 文件查看器

package step3;

import java.io.File;
import java.util.Arrays;
public class Task {
	
	/********** Begin **********/
    int n = 1;
	public void showDirStructure(File file)	{
        
        System.out.println("+--"+file.getName());
        File[] dir = file.listFiles();
        Arrays.sort(dir);
        for(File files : dir){
            if(files.isDirectory()){
                for(int i = 0 ; i < n* 2;++i)
                    System.out.print(" ");
                    ++n;
                    showDirStructure(files);
                    --n;
            }
            else{
                for(int i = 0 ; i < n*2; ++i)
                System.out.print(" ");
                System.out.println("--"+files.getName());
            }
        }
		





	}
	

第4关 图片查看器

package step4;

import java.io.File;

import java.util.Arrays;
public class Task {
	
	/********** Begin **********/
	public void showDirStructure(File file)	{
		if(file.isDirectory()){
			System.out.println("+--"+file.getName());
			}
			int a = 2 ;
			showDirTree(a,file);
		}
	public void showDirTree(int a , File file){
		File[] files = file.listFiles();
		Arrays.sort(files);
		for(int i = 0 ; i < files.length; i ++){
			if(files[i].isDirectory()){
				for(int j = 0 ; j < a ; j++){
					System.out.print(" ");
				}
				System.out.println("+--"+files[i].getName());
				showDirTree(a+2,files[i]);
			}else{
				String fileName = files[i].getName().toLowerCase();
				if(fileName.endsWith(".jpg")||fileName.endsWith(".png")||fileName.endsWith(".bmp")){
					for(int j = 0 ; j < a; j++){
						System.out.print(" ");
					}
					System.out.println("--"+files[i].getName());
				}	
			}
		}
	}
	/********** End **********/
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值