我在第十三届蓝桥杯国赛中遇到一个题目,
他给你两百万条1000-9999的数字,判断素数的个数,
但是我看见这个数据条数的时候就已经懵逼了,循环两百万次?
好的,电脑直接崩了,直到我现在学习了 File 这个题目就迎刃而解了
- String URL = "D:\\我的电脑\\asd\\a.txt";
- File f = new File(URL);
- System.out.println(f);
File的构造方法传入对的就是一个String的字符串,并且输出的时候重写toString方法,就是输出传入的参数,
输出:D:\我的电脑\asd\a.txt
它的方法也分为三类:判断文件、创删文件、识取文件。
1.判断文件:
- String URL = "D:\\我的电脑\\asd\\a.txt";
- File f = new File(URL);
- System.out.println(f.exists());//是否为合法地址
- System.out.println(f.isFile());//是否为文件结尾
- System.out.println(f.isDirectory());//是否为文件夹结尾
在实际运用中普遍在程序的前面使用
输出: true
false
true
2.创删文件:
- public class Test1 {
- public static void main(String[] args) {
- String URL = "D:\\我的电脑\\asd\\c.txt";//要创建的路径,加上文件名
- File f = new File(URL);
- Boolean bl=false;
- try {
- bl= f.createNewFile();//创建一个文件
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- System.out.println(bl);
- }
- }
注意!
这个方法在使用的时候有一个IOException(输入输出异常)需要我们自己去处理
这里我使用的try/catch自行处理,当然你也可以把它交给JVM(虚拟机)处理
另外还要注意的一点是我们必须保证创建的路径是合法正确的,所以我这个程序就需要优化一些:
还可以创建文件夹:
这里我直接新加了一个方法:
- private static void NewMkdir(File f) {
- boolean bl = false;
- bl = f.mkdir();
- System.out.println(bl);
- }
还可以连续创建多个文件夹:
- private static void NewMkdirs(File f) {
- Boolean bl = false;
- bl = f.mkdirs();
- System.out.println(bl);
- }
删除:
- private static void Delete(File f) {
- boolean bl = f.delete();
- System.out.println(bl);
- }
删除和创建文件的方式一模一样,它的特点也一样
1.只会删除路径的第一个
2.并且删除文件夹的时候如果文件夹里面有文件或者有文件夹,都不会删除