精华内容
下载资源
问答
  • java使用File创建文件或文件夹

    千次阅读 2019-03-20 14:01:20
    在输入框中输入字符串,判断输入的是文件还是文件夹,如果是文件就出创建问价,是文件夹就出创建文件夹,在创建的时候没有就创建,有就删除(例如:test、test.txt) package Iodemo; import java.io.*; import ...

    在输入框中输入字符串,判断输入的是文件还是文件夹,如果是文件就出创建问价,是文件夹就出创建文件夹,在创建的时候没有就创建,有就删除(例如:test、test.txt)

    package Iodemo;
    
    import java.io.*;
    import java.util.Scanner;
    
    public class ZyDemo03 {
    	public static void main(String[] args) {
    		Scanner scn2 = new Scanner(System.in);	//实例化Scanner类,用来输入
    		System.out.print("请输入字符串:");		
    		//String str = scn2.next();
    		String str2 = scn2.next();		//用来输入字符
    		File f = new File("e:"+File.separator+"java"+File.separator+str2);
    		if(str2.indexOf(".txt")!=-1) {		//判断输入的是创建文件还是创建文件夹
    			if(!f.exists()) {		//判断该文件是否存在,存在该文件就删除,不存在就创建
    				try {
    					f.createNewFile();		//创建该文件
    					System.out.println("已创建该文件");
    				}catch(IOException e){
    					e.printStackTrace();
    				}
    			}else {
    				f.delete();			//删除该文件
    				System.out.println("已删除该文件");
    			}
    		}else {
    			if(!f.isDirectory()) {	//判断该文件夹是否存在,存在就删除,不存在就创建
    				f.mkdirs();			//创建文件夹
    				System.out.println("已创建该文件夹");
    			}else {
    				f.delete();			//删除文件夹
    				System.out.println("已删除该文件夹");
    			}
    		}
    		
    	}
    }
    
    

    看效果
    在这里插入图片描述

    展开全文
  • JavaFile使用--创建文件

    万次阅读 多人点赞 2019-06-20 14:33:45
    1.错误示范1,输出的是创建文件夹 D:\filepath\test\test.txt。 public class FileTest { public static void main(String[] args) throws IOException { String fileName = "test.txt"; File testFile = new.....

    1.错误示范1,输出的是创建文件夹 D:\filepath\test\test.txt。

    public class FileTest {
        public static void main(String[] args) throws IOException {
            String fileName = "test.txt";
            File testFile = new File("D:" + File.separator + "filepath" + File.separator + "test" + File.separator + fileName);
            if (!testFile.exists()) {
                testFile.mkdirs();// 能创建多级目录
            }
            System.out.println("testFile:"+testFile);
        }
    }
    
    
    
    result--------------------
    testFile:D:\filepath\test\test.txt

    2.错误示范2,如果 D:\filepath\test\ 文件夹不存在,会报错。

    public class FileTest {
        public static void main(String[] args) throws IOException {
            String fileName = "test.txt";
            File testFile = new File("D:" + File.separator + "filepath" + File.separator + "test" + File.separator + fileName);
            if (!testFile.exists()) {
                testFile.createNewFile();// 能创建多级目录
            }
            System.out.println("testFile:"+testFile);
        }
    }

    3.实现在多重目录下创建文件:话不多说上正确代码:

    package com.zte.FileTest;
    
    import sun.net.ftp.FtpClient;
    //import com.zte.ums.cnms.pm.load.enums.MppFileDirEnum;
    import java.io.File;
    import java.io.IOException;
    
    public class FileTest {
        public static void main(String[] args) throws IOException {
            String fileName = "test.txt";
            System.out.println("File.separator:" + File.separator);
            File testFile = new File("D:" + File.separator + "filepath" + File.separator + "test" + File.separator + fileName);
            File fileParent = testFile.getParentFile();//返回的是File类型,可以调用exsit()等方法 
            String fileParentPath = testFile.getParent();//返回的是String类型
            System.out.println("fileParent:" + fileParent);
            System.out.println("fileParentPath:" + fileParentPath);
            if (!fileParent.exists()) {
                fileParent.mkdirs();// 能创建多级目录
            }
            if (!testFile.exists())
                testFile.createNewFile();//有路径才能创建文件
            System.out.println(testFile);
    
            String path = testFile.getPath();
            String absolutePath = testFile.getAbsolutePath();//得到文件/文件夹的绝对路径
            String getFileName = testFile.getName();//得到文件/文件夹的名字
            System.out.println("path:"+path);
            System.out.println("absolutePath:"+absolutePath);
            System.out.println("getFileName:"+getFileName);
        }
    }
    
    
    
    
    result---------------------------------
    File.separator:\
    fileParent:D:\filepath\test
    fileParentPath:D:\filepath\test
    D:\filepath\test\test.txt
    path:D:\filepath\test\test.txt
    absolutePath:D:\filepath\test\test.txt
    getFileName:test.txt
    

     

    File类的常见方法(参考一位大牛的,不小心把链接关了)
    1.创建。
    boolean createNewFile(); //创建文件
    boolean mkdir();创建文件夹
    boolean mkdirs();创建多级文件夹。

    2.删除。
    boolean delete();
    void deleteOnExit();在程序退出时删除文件。

    3.判断。
    boolean canExcute(); 判断是否可执行
    boolean exists(); 文件事是否存在。
    isFile();文件
    isDirectory();文件夹
    isHidden();//java能得到文件中的隐藏文件但是对隐藏文件时不能访问的
    isAbsolute();//绝对路径即时不存在也能得到。
    4.获取信息。
    getName();
    getPath();
    getParent();

    4.三种文件创建方式:
    File file = new File("E:/...");//文件/文件夹路径对象
    File file = new File("..." ,""...);//父目录绝对路径 + 子目录名称
    File file = new File("...","...");//父目录File对象 + 子目录名称

    file.exists():判断文件/文件夹是否存在
    file.delete():删除文件/文件夹
    file.isDirectory():判读是否为目录
    file.isFile():判读是否为文件夹
    file.mkdir():创建文件夹(仅限一级目录)
    file.mkdirs():创建多及目录文件夹(包括但不限一级目录)

    file.createNewFile():创建文件
    file.getAbsolutePath():得到文件/文件夹的绝对路径
    file.getName():得到文件/文件夹的名字
    file.String():同样是得到文件/文件夹的绝对路径等于file.getAbsolutePath()
    file.getParent():得到父目录的绝对路径String 不可以调用可以调用mkdir()方法

    file.getParentFile():得到父目录的绝对路径的返回值是File型可以调用mkdir()方法

    String[] gdir.list():得到目录的子目录\文件的名称(不是绝对路径)
    File[] dir.listFiles():得到目录的子目录\文件事是否存在。

    展开全文
  • java使用File写入文件出现java.io.FileNotFoundException错误解决办法(无法生成文件而是生成目录) java.io.FileNotFoundException错误解决(使用!f.isDirectory()判断) 入坑许久,这个错误让我头疼了一下午。当我们...

    java使用File写入文件图片出现java.io.FileNotFoundException错误解决办法(无法生成文件而是生成目录)

    java.io.FileNotFoundException错误解决(使用!f.isDirectory()判断)

    入坑许久,这个错误让我头疼了一下午。当我们使用File类创建文件时,会遇见被拒绝访问的错误异常。本人在网上搜索基本都是后缀名没有添加,但是这也无法解决本人问题(磁盘写入权限已检查,没有问题),以致我认为是电脑出现了问题。但在我仔细检查后,发现是方法逻辑问题。

    修改前代码

    FileOutputStream fos = null;
    File f = new  File("f:\\upload\\temp.txt");
    if (!f.isDirectory()){
        f.mkdirs();
    }
    fos = new FileOutputStream(f);
    

    执行后
    在这里插入图片描述

    你可能会觉得这段代码没错,但是它无法生成.txt文件还会java.io.FileNotFoundException错误,并且生成一个命名temo.txt的文件夹。问题就在于!f.isDirectory(),它把temo.txt当成一个目录判断为不存在了,就执行了 f.mkdirs();生成了该目录。

    修改后代码

    FileOutputStream fos = null;
    File f = new  File("f:\\upload");
    if (!f.isDirectory()){
    	f.mkdirs();
    }
    f = new  File("f:\\upload\\temp.txt");
    fos = new FileOutputStream(f);
    

    从代码可以看出,我们可以先判断目录是否存在,并创建,然后再创建文件。

    执行后
    在这里插入图片描述
    问题解决,开心。

    展开全文
  • java new File创建文件或目录时的注意事项

    万次阅读 多人点赞 2018-07-22 16:11:11
    1, 如下代码所示 File dir = new File("root"); File f1 = new File("root"); ... // 文件对象创建后,指定的文件或目录不一定物理上存在 if(!dir.exists()) { //A ...

    1, 如下代码所示

                    File dir = new File("root");
                    File f1 = new File("root");
    
                    // 文件对象创建后,指定的文件或目录不一定物理上存在   
                    if(!dir.exists()) {       //A
                        dir.mkdir();          //B
                        dir.createNewFile();  //C
                    }
                    if(!f1.isFile()) {        //D
                        f1.createNewFile();   //E
                    }
                    logger.info("  " + dir.isDirectory());
                    logger.info("  " + dir.isFile());
    
                    logger.info("  " + f1.isDirectory());
                    logger.info("  " + f1.isFile());

    打印的日志信息依次为:

    2018-07-22 15:37:22 [http-nio-8080-exec-1] INFO  org.slf4j.LoggerFactory -   true
    2018-07-22 15:37:31 [http-nio-8080-exec-1] INFO  org.slf4j.LoggerFactory -   false
    2018-07-22 15:37:35 [http-nio-8080-exec-1] INFO  org.slf4j.LoggerFactory -   true
    2018-07-22 15:37:37 [http-nio-8080-exec-1] INFO  org.slf4j.LoggerFactory -   false

    分析:

    A: 当代码执行到A处时,因为名为root的目录或文件都不存在,判断结果为true,执行if代码块中代码

    B: 所以会先执行B处代码,B会被执行成功,即成功创建名为root的目录

    C:当执行C处代码时,因为已存在名为root的目录,就不能再创建名为root的文件(注:同一级文件系统下不允许同时存在相同名子的目录或文件,目录名和文件名也不能相同【带后缀的目录“root.txt”和文件“root.txt”也不能同时存在】

    但是root.txt和root可以同时存在,因为“root.txt”和“root”会被判断两个不同的名子

    D:执行D处代码时,因为名为root的文件不存在(虽然名为root的目录已存在),所以会判断为true,执行E处代码

    E:当代码执行到E时,也是因为已存在名为root的目录,所以并不能再成功创建名为root的文件

     

    一、最终结果是对应的文件系统目录中中只存在名为root的文件夹,并不存在名为root的文件!

    所以dir和f1都是文件夹,而不是文件。

    二、另外也可以看出,虽然root的目录只被句柄创建了,而不是被f1创建的,

    但是判断f1类型时,依然是将f1指向了dir创建的同名的文件夹,也就是判断一个句柄是否是文件或文件夹,是根据创建是指定的“root”名在当前目录中的类型决定的。如下,虽然f2没有被创建,但是类型依然和同名的dir一样:

    但是如果上图中f2和dir传的字符串不同时,f2不被创建则f2既不是目录也不是文件

    2,File (String  parent  ,  String child)

         例:File f2=new  File(“D:\\dir","test.txt") ;//  注意:D:\\dir目录事先必须存在,否则异常

    如下代码:

                    File dir = new File("root");
                    File f2 = new File(dir, "test.txt");
    
                    if(!f2.isFile()) {
                        f2.createNewFile();
                    }
                    logger.info("  " + dir.isDirectory());
                    logger.info("  " + dir.isFile());
                    logger.info("  " + f2.isDirectory());
                    logger.info("  " + f2.isFile());
                    return "server ....  test ...";

    在创建文件f2时,也会报错:No such file or directory,因为root目录并不存在,所以应该先按顺序创建root目录,如下所示:

                    File dir = new File("root");
                    File f2 = new File(dir, "test.txt");
                    if(!dir.exists()) {
                        dir.mkdir();
                    }
                    if(!f2.isFile()) {
                        f2.createNewFile();
                    }
                    logger.info("  " + dir.isDirectory());
                    logger.info("  " + dir.isFile());
                    logger.info("  " + f2.isDirectory());
                    logger.info("  " + f2.isFile());

     

    展开全文
  • JavaFile类可以用来新建文件和目录对象,而FileDescriptor类则被用来表示文件或目录的可操作性,接下来我们就来详解Java中的File文件类以及FileDescriptor文件描述类
  • java.io.File类代表系统文件名(路径和文件名) (1)File类常见的构造方法: //以pathname为路径创建File对象,如果pathname是相对路径则默认当前路径在系统属性user.dir中存储 public File(String pathname) { ...
  • 1. 如下代码所示 File dir = new File("root"); File f1 = new File("root"); // 文件对象创建后,指定的文件或目录不一定物理上存在 if(!dir.exists()) { //A ...
  • 普通创建文件代码: String strPath = "E:\\test\\test1\\test.txt"; File file = new File(strPath); if(!file.exists())){ file.createNewFile(); } 上述这段代码,当E:\test\test1目录不存在时,...
  • JavaFile创建文件

    千次阅读 2017-06-12 16:29:25
    只需要调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等。 import java.io.*; public class CreateNewFile{  //创建一个方法...
  • JAVAFile创建文件或文件夹等

    千次阅读 2019-10-28 17:24:30
    JAVAFile创建文件或文件夹等 1、File类相关函数 * boolean createNewFile() :创建文件 返回值表示是否创建成功 * ①当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件 * ②...
  • Java File文件操作

    万次阅读 多人点赞 2016-05-21 20:35:57
    Java提供File类,让我们对文件进行操作,简单整理了一下File类的用法。 1.基本概念File文件和目录路径名的抽象表示形式,代表文件或者文件夹。 2.构造方法 // 根据parent抽象路径名和child路径名字符串创建一个新...
  • 今天在手写动态代理的时候使用File创建文件报错:java.io.FileNotFoundException: C:\... (拒绝访问。) public class Test { public static void main(String[] args) { Class<?>[] interfaces = new ...
  • import java.io.File; import java.io.IOException; public class FIleDemo2 { public static void main(String[] args) { // TODO Auto-generated method stub function_2(); } /* * 创建文件夹的...
  • public static void main(String[] args) throws IOException { File file = new File(“D:/...// 创建文件夹,上级目录不存在时自动创建使用file.mkdir()方法时上级目录不存在会抛异常 file.mkdirs(); } File ...
  • import java.io.File; import java.io.IOException;public class FileApp { public static void main(String[] arg){ //创建一个java目录 File file = new File("java"); if(!file.exists()){
  • Java 通过使用File类获取文件信息

    万次阅读 2012-03-24 09:29:30
    import java.io.File; import java.util.Date; public class lzwCode { public static void main(String [] args) { String filePath = "src/com/lzw/demo/StackTest/lzwCode.java"; //指定文件路径 File...
  • java File 文件读写

    千次阅读 2014-02-06 09:05:48
    Java 中的文件读写有如下几个类 读文件类 FileReader InputStreamReader BufferedReader FileReader可以直接读文件, new FileReader(new File("file.name")) InputStreamReader 得先创建...
  • import java.io.File; import java.io.IOException; /** *mkdir:只能用来创建文件夹,且只能创建一级目录,如果上级不存在,就会创建失败。 mkdirs:只能用来创建文件夹,且能创建多级目录 ,如果上级不存在,就...
  • 这是复制从后往前windows路径‪显示没问题:C:\Users\admin\Desktop\... File file = new File("‪C:\\Users\\admin\\Desktop\\1603882575049.jpg"); System.out.println(file.getPath()); if (file.e
  • Java中的File文件类详解

    万次阅读 多人点赞 2016-08-02 22:00:35
    Java中的File文件类详解文件操作在Java...1. Java新建或者删除一个文件,文件夹以及createNewFile(),delete(),mkdir(),mkdirs()函数的使用。 2. 判断文件的函数:exists(),isFile(),isAbsolute(),isDirectory(),canRea
  • Java中,File创建一个文件

    千次阅读 2017-10-18 17:34:31
    import java.io.File; import java.io.IOException;... * 如何用File创建一个文件 */ public class test1 { public static void main(String[] args) { /*实例化一个文件,代表给定路径的文件或目录 * *
  • java File使用总结

    2019-01-31 12:52:14
    javaFIle类的使用总结,有File创建,文件夹的创建文件创建文件的复制,文件的转移等等
  • I/O输入输出流File类具有创建文件的功能,利用循环语句可以实现批量创建文件的功能。 package demon1; import java.io.*; //导入File类 public class CreatFile { /** * @param args */ public static ...
  • Java操作文件首先需要实例化一个对象,File类实例化对象时必须指定文件路径,对于不同的操作系统,文件路径中的分隔符不同,例如Windows系统分隔符为反斜杠“\”,Linux系统则为正斜杠“/”。 File类提供了路径分隔...
  • 这几天做Android应用程序,涉及到一个创建文件、文件夹的操作!开始马大哈,写成了如下的程序。[code="java"] public static String getFolderPath ( String userId ) { String status = ...
  • java 我已经创建了文件 可是用file创建一个对象时却说文件不存在,(原先文件是在E盘,说找不到文件,后来把文件放到C盘后就可以找得到了)这是为什么
  • Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建文件的查找和文件的删除等。 有以下四种方法构建一个File对象: File(File parent,String child):以父抽象路径名和子路径名字符串...
  • Java——使用一个File创建一个目录

    千次阅读 2019-02-21 21:13:45
    * 使用一个File创建一个目录 * @author Administrator * */ public class FileDemo4 { public static void main(String[] args) { /* * 在当前目录下创建一个目录demo */ File d...
  • 这是前段时间用Java写的一个File文件的操作类,该类中的子方法有文件新建、删除、修改以及文件和文件夹的全级搜索和单级搜索,该类还在完善中,以供学习交流!!(未完!)import java.io.BufferedReader; import ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 778,286
精华内容 311,314
关键字:

java使用file创建文件

java 订阅