头歌Educoder——Java面向对象 - 文件类(一)

简介: 头歌Educoder——Java面向对象 - 文件类

第1关:创建文件

任务描述

本关任务:在指定文件夹下创建文件。

相关知识

本关你需要掌握:

1.如何创建文件;

2.如何判断文件是否存在。

如何创建文件

我们知道在Java中万物皆对象,所以用来操作文件的也应该是一个对象,它就是File类,在Java中使用File类来操作文件。

如何创建一个文件呢?

很简单,我们来看个例子:

image.png

使用上面这段代码就可以在D盘下创建一个helloworld.txt文件了。

如何判断文件是否存在

如果一个文件已经存在,那我们一般不应该在去创建它,所以判断文件是否存在是我们需要知道的,如何来判断呢?

image.png

运行上述代码,如果D://helloworld.txt已经存在则会输出true,否则输出false

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

  • src/output目录下创建hello.txttest.txt文件。

需要先创建test.txt,后创建hello.txt

注意:文件操作有异常需要抛出。

小贴士:在windows系统中文件目录表示方式为 D://XX.XX,在Linux中文件目录的表示方式为/xxdir/filename.txt ,在平台中使用的是Linux环境,所以编写代码的时候要使用Linux的目录方式哦。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。


开始你的任务吧,祝你成功!


实现代码

packagestep1;
importjava.io.File;
importjava.io.FileFilter;
importjava.io.IOException;
importjava.util.Scanner;
publicclassTask {
/********* Begin *********/publicvoidsolution()throwsIOException  {
Filefile1=newFile("src/output/test.txt");
file1.createNewFile();
Filefile2=newFile("src/output/hello.txt");
file2.createNewFile();  
    }
/********* End *********/}

第2关:文件的常用操作

任务描述

本关任务:创建文件夹,删除文件,列出文件和目录。

相关知识

为了完成本关任务,你需要掌握:

1.创建文件夹;

2.删除文件;

3.列出文件目录。

创建文件夹

image.png

这段代码就会在D盘下创建一个hello的文件夹。

删除文件

image.png

这段代码就可以删除D盘下的helloworld.txt文件

列出文件夹下的文件

如果要开发一个文件查看器,那么我们就需要能查看指定文件夹下的所有文件;Java中就提供了该方法。

示例:

Dhello文件夹下文件如下:

image.png

编写如下代码:

image.png

输出结果:

a.txt

b.txt

text.txt

可以发现在Java中文件夹也是一个File对象,使用listFiles()方法可以获取该文件夹下所有文件的数组,使用getName()方法可以获取文件的文件名。

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,实现文件夹下所有文件信息的列出,删除指定文件夹,在文件夹下创建文件,具体要求如下:

  • src/下创建文件夹test2文件夹;
  • 删除src/output/下的test2.txt文件;
  • src/test2/目录下创建helloworld.txt文件和step2.txt文件;
  • src/output/目录和src/test2/目录下所有文件的文件名按升序排序并打印至控制台。


提示:可以使用Arrays.sort()函数进行排序,使用Arrays类中的方法需要导入:            import java.util.Arrays 。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

输出如下结果:

output目录结构为:

a.txt

b.txt

c.txt

hello.txt

test.txt

test2目录结构为:

helloworld.txt

step2.txt


开始你的任务吧,祝你成功!

实现代码

packagestep2;
importjava.io.File;
importjava.io.FileFilter;
importjava.io.IOException;
importjava.util.Arrays;
publicclassTask {
publicstaticvoiddcFile() throwsIOException {
/********* Begin *********/Filefile1=newFile("src/test2");
file1.mkdirs();
Filefile2=newFile("src/output/test2.txt");
file2.delete();
Filefile3=newFile("src/test2/helloworld.txt");
file3.createNewFile();
Filefile4=newFile("src/test2/step2.txt");
file4.createNewFile();
System.out.println("output目录结构为:");
File[] file5=newFile("src/output").listFiles();
Arrays.sort(file5);
for (Filefile : file5) {
System.out.println(file.getName());
        }   
System.out.println("test2目录结构为:");
File[] file6=newFile("src/test2").listFiles();
Arrays.sort(file6);
for (Filefile : file6) {
System.out.println(file.getName());
        }
/********* End *********/    }
}


目录
相关文章
|
12月前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
548 101
|
12月前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
440 100
|
11月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
458 4
|
11月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
432 5
|
11月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
551 5
|
11月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
495 1
|
11月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
388 1
|
11月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
586 1
|
11月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
381 0
|
11月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
447 1