美文网首页
java:file.creatNewFile() 报错

java:file.creatNewFile() 报错

作者: weeznn | 来源:发表于2018-04-09 11:33 被阅读0次
File file =new File(path);

if (!file.exists()){

try {

file.createNewFile();

    }catch (IOException e) {

e.printStackTrace();

    }

}

常见的新建file步骤。但是创建file失败。原因在于:file.createNewFile();

file.creatNewFile()


/**

* Atomically creates a new, empty file named by this abstract pathname if

* and only if a file with this name does not yet exist.  The check for the

* existence of the file and the creation of the file if it does not exist

* are a single operation that is atomic with respect to all other

* filesystem activities that might affect the file.

*

* Note: this method should not be used for file-locking, as

* the resulting protocol cannot be made to work reliably. The

* {@link java.nio.channels.FileLock FileLock}

* facility should be used instead.

*

* @return  true if the named file does not exist and was

*          successfully created; false if the named file

*          already exists

*

* @throws  IOException

*          If an I/O error occurred

*

* @throws  SecurityException

*          If a security manager exists and its {@link

*          java.lang.SecurityManager#checkWrite(java.lang.String)}

*          method denies write access to the file

*

* @since 1.2

*/

public boolean createNewFile()throws IOException {

SecurityManager security = System.getSecurityManager();

    if (security !=null) security.checkWrite(path);

    if (isInvalid()) {

throw new IOException("Invalid file path");

    }

return fs.createFileExclusively(path);

}

当且仅当该文件不存在时在该路径下自动创建一个新的空文件。

但是当你的path中含有未创建的文件夹时,会因为path Invalid而抛出异常。

解决方案:


String dirpath=APPBASEPATH + type +"/" +

fileName;

String path= dirpath+"/" +

fileName +".pcm";

Log.i(TAG,"write  audio :"+path);

File filedir=new File(dirpath);

if (!filedir.exists()){

filedir.mkdir();

}

File file =new File(path);

if (!file.exists()){

try {

file.createNewFile();

    }catch (IOException e) {

e.printStackTrace();

    }

}

相关文章

网友评论

      本文标题:java:file.creatNewFile() 报错

      本文链接:https://www.haomeiwen.com/subject/tjobhftx.html