精华内容
下载资源
问答
  • java创建新文件_Java创建新文件

    千次阅读 2020-07-19 20:44:52
    java创建新文件Creating a file is a very common IO operation. Today we will look into different ways to create a file in java. 创建文件是非常常见的IO操作。 今天,我们将探讨在Java中创建文件的不同方法。 ...

    java创建新文件

    Creating a file is a very common IO operation. Today we will look into different ways to create a file in java.

    创建文件是非常常见的IO操作。 今天,我们将探讨在Java中创建文件的不同方法。

    Java创建文件 (Java create file)

    java create file, java create new file

    There are three popular methods to create file in java. Let’s look at them one by one.


    有三种在Java中创建文件的流行方法。 让我们一一看一下。

    1. File.createNewFile() (File.createNewFile())

      java.io.File class can be used to create a new File in Java. When we initialize File object, we provide the file name and then we can call createNewFile() method to create new file in Java.

      File createNewFile() method returns true if new file is created and false if file already exists. This method also throws java.io.IOException when it’s not able to create the file. The files created is empty and of zero bytes.

      When we create the File object by passing the file name, it can be with absolute path, or we can only provide the file name or we can provide the relative path.

      For a non-absolute path, File object tries to locate files in the project root directory. If we run the program from command line, for the non-absolute path, File object tries to locate files from the current directory.

      While creating the file path, we should use System property file.separator to make our program platform independent.

      Let’s see different scenarios with a simple java program to create a new file in java.

      package com.journaldev.files;
      
      import java.io.File;
      import java.io.IOException;
      
      public class CreateNewFile {
      
          /**
           * This class shows how to create a File in Java
           * @param args
           * @throws IOException 
           */
          public static void main(String[] args) throws IOException {
              String fileSeparator = System.getProperty("file.separator");
              
              //absolute file name with path
              String absoluteFilePath = fileSeparator+"Users"+fileSeparator+"pankaj"+fileSeparator+"file.txt";
              File file = new File(absoluteFilePath);
              if(file.createNewFile()){
                  System.out.println(absoluteFilePath+" File Created");
              }else System.out.println("File "+absoluteFilePath+" already exists");
              
              //file name only
              file = new File("file.txt");
              if(file.createNewFile()){
                  System.out.println("file.txt File Created in Project root directory");
              }else System.out.println("File file.txt already exists in the project root directory");
              
              //relative path
              String relativePath = "tmp"+fileSeparator+"file.txt";
              file = new File(relativePath);
              if(file.createNewFile()){
                  System.out.println(relativePath+" File Created in Project root directory");
              }else System.out.println("File "+relativePath+" already exists in the project root directory");
          }
      
      }

      When we execute the above program from Eclipse IDE for the first time, the below output is produced.

      For the relative path, it throws IOException because tmp directory is not present in the project root folder.

      So it’s clear that createNewFile() just tries to create the file and any directory either absolute or relative should be present already, else it throws IOException.

      So I created “tmp” directory in the project root and executed the program again, here is the output.

      File /Users/pankaj/file.txt already exists
      File file.txt already exists in the project root directory
      tmp/file.txt File Created in Project root directory

      First two files were already present, so createNewFile() returns false, third file was created in tmp directory and returns true.

      Any subsequent execution results in the following output:

      If you run the same program from terminal classes directory, here is the output.

      //first execution from classes output directory	
      pankaj:~/CODE/JavaFiles/bin$ java com/journaldev/files/CreateNewFile
      File /Users/pankaj/file.txt already exists
      file.txt File Created in Project root directory
      Exception in thread "main" java.io.IOException: No such file or directory
      	at java.io.UnixFileSystem.createFileExclusively(Native Method)
      	at java.io.File.createNewFile(File.java:947)
      	at com.journaldev.files.CreateNewFile.main(CreateNewFile.java:32)
      
      //tmp directory doesn't exist, let's create it
      pankaj:~/CODE/JavaFiles/bin$ mkdir tmp
      
      //second time execution
      pankaj:~/CODE/JavaFiles/bin$ java com/journaldev/files/CreateNewFile
      File /Users/pankaj/file.txt already exists
      File file.txt already exists in the project root directory
      tmp/file.txt File Created in Project root directory
      
      //third and subsequent execution
      pankaj:~/CODE/JavaFiles/bin$ java com/journaldev/files/CreateNewFile
      File /Users/pankaj/file.txt already exists
      File file.txt already exists in project root directory
      File tmp/file.txt already exists in project root directory

      java.io.File类可用于在Java中创建新的File。 初始化File对象时,我们提供文件名,然后可以调用createNewFile()方法来用Java创建新文件。

      如果创建了新文件,则文件createNewFile()方法返回true ,如果文件已经存在,则返回false 。 当无法创建文件时,此方法还会引发java.io.IOException 。 创建的文件为空,且为零字节。

      当我们通过传递文件名来创建File对象时,它可以使用绝对路径 ,也可以仅提供文件名,也可以提供相对路径。

      对于非绝对路径,File对象尝试在项目根目录中找到文件。 如果我们从命令行运行程序,对于非绝对路径,File对象将尝试从当前目录中查找文件。

      创建文件路径时,我们应使用系统属性file.separator使程序平台独立。

      让我们看看用一个简单的Java程序在Java中创建一个新文件的不同场景。

      当我们第一次从Eclipse IDE执行上述程序时,将产生以下输出。

      /Users/pankaj/file.txt File Created
      file.txt File Created in Project root directory
      Exception in thread "main" 
      java.io.IOException: No such file or directory
      	at java.io.UnixFileSystem.createFileExclusively(Native Method)
      	at java.io.File.createNewFile(File.java:947)
      	at com.journaldev.files.CreateNewFile.main(CreateNewFile.java:32)

      对于相对路径,它会引发IOException,因为项目根文件夹中没有tmp目录。

      因此很明显, createNewFile()只是尝试创建文件,并且绝对目录或相对目录都应该已经存在,否则会抛出IOException

      因此,我在项目根目录中创建了“ tmp”目录,并再次执行了程序,这是输出。

      前两个文件已经存在,因此createNewFile()返回false ,第三个文件在tmp目录中创建并返回true

      任何后续执行将导致以下输出:

      File /Users/pankaj/file.txt already exists
      File file.txt already exists in the project root directory
      File tmp/file.txt already exists in the project root directory

      如果从终端类目录运行相同的程序,则输出为。

    2. FileOutputStream.write(byte [] b) (FileOutputStream.write(byte[] b))

      If you want to create a new file and at the same time write some data into it, you can use FileOutputStream write method. Below is a simple code snippet to show it’s usage. The rules for absolute path and relative path discussed above is applicable in this case too.

      String fileData = "Pankaj Kumar";
      FileOutputStream fos = new FileOutputStream("name.txt");
      fos.write(fileData.getBytes());
      fos.flush();
      fos.close();

      如果要创建一个新文件并同时向其中写入一些数据,则可以使用FileOutputStream写入方法。 以下是显示其用法的简单代码段。 上面讨论的绝对路径和相对路径的规则也适用于这种情况。

    3. Java NIO Files.write() (Java NIO Files.write())

      We can use Java NIO Files class to create a new file and write some data into it. This is a good option because we don’t have to worry about closing IO resources.

      String fileData = "Pankaj Kumar";
      Files.write(Paths.get("name.txt"), fileData.getBytes());

      我们可以使用Java NIO Files类创建一个新文件并将一些数据写入其中。 这是一个不错的选择,因为我们不必担心关闭IO资源。

    That’s all for creating a new file in the java program.

    这就是在java程序中创建新文件的全部。

    GitHub Repository.GitHub Repository中检出更多核心Java示例。

    翻译自: https://www.journaldev.com/825/java-create-new-file

    java创建新文件

    展开全文
  • Java创建新文件的同时创建相应目录

    千次阅读 2016-04-19 22:07:21
    java中,要想调用File对象 的createNewFile()方法,需要上一级的目录已经创建,手动创建比较麻烦,所以写了一个工具类用于创建新文件的同时创建相应的目录。 不多说,直接贴代码: public class MyFileUtil { ...

    在java中,要想调用File对象 的createNewFile()方法,需要上一级的目录已经创建,手动创建比较麻烦,所以写了一个工具类用于创建新文件的同时创建相应的目录。

    不多说,直接贴代码:

    public class MyFileUtil {
    	public static File createNewFile(File file)throws IOException {
    		if (!file.exists()) {
    			mkdir(file.getParentFile());
    				file.createNewFile();
    		}
    		return file;
    	}
    
    	private static void mkdir(File dir){
    		if (!dir.getParentFile().exists()) {
    			mkdir(dir.getParentFile());
    		}
    		dir.mkdir();
    	}
    	public static void main(String[] args)throws IOException{
    		MyFileUtil.createNewFile(new File("d:/tmp/a.txt"));
    	}
    }



    展开全文
  • Java创建新文件并写入指定的数据 Java的其他文件操作,也会在该专栏更新 1.写入字节数组 /** * 新建新的文件并写入指定字节数组的数据 * @param fileName 文件目录及名称字符串 * @param bytes 字节数组 * @...

    Java创建新文件并写入指定的数据

    Java的其他文件操作,也会在该专栏更新

    1.写入字节数组

    /**
     * 新建新的文件并写入指定字节数组的数据
     * @param fileName 文件目录及名称字符串
     * @param bytes 字节数组
     * @return 文件
     */
    public static File createFile(String fileName, byte[] bytes) {
        //参数校验
        if (StringUtils.isEmpty(fileName)) {
            return null;
        }
        File newFile = new File(fileName);
        try {
            if (!newFile.exists()) {
                //创建文件
                newFile.createNewFile();
            }
            //创建输出流,写入数据
            FileOutputStream outputStream = new FileOutputStream(newFile);
            outputStream.write(bytes);
            outputStream.flush();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
        return newFile;
    }
    1. 写入输入流的数据
    /**
     * 创建新文件并写入指定输入流的数据
     * @param path 文件路径及文件名
     * @param inputStream 输入流
     * @return 创建的文件
     */
    public static File createFile(String path,InputStream inputStream){
        try {
            if(!new File(path).exists()){
                //创建文件
                new File(path).createNewFile();
            }
            // 获取文件输出流
            FileOutputStream fos = new FileOutputStream(path);
            //调用工具类写入数据
            //IOUtils.copy(InputStream input, OutputStream output)方法位于commons-io-2.1.jar包内
            IOUtils.copyLarge(inputStream, fos);
    
            if(inputStream!=null){
                inputStream.close();
            }
            if(fos!=null){
                fos.flush();
                fos.close();
    
            }
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }
    展开全文
  • java创建txt文件

    千次阅读 2020-12-13 19:29:21
    import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.util.Arrays; import java.util.List; public class Test { public static void ...

     

    import org.apache.commons.collections.CollectionUtils;
    
    import java.io.BufferedWriter;
    import java.io.FileOutputStream;
    import java.io.OutputStreamWriter;
    import java.util.Arrays;
    import java.util.List;
    
    public class Test {
        
        public static void main(String[] args) {
    
            createTxt(Arrays.asList("1", "2", "3"));
        }
    
        private static void createTxt(List<String> userCodes) {
    
            if (CollectionUtils.isEmpty(userCodes)) {
                return;
            }
            BufferedWriter bufferedWriter = null;
            try {
                bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("test.txt"), "UTF-8"));
                for (String userCode : userCodes) {
                    bufferedWriter.write(userCode);
                    bufferedWriter.newLine();
                }
            } catch (Exception e) {
    
            } finally {
                try {
                    if (bufferedWriter != null) {
                        bufferedWriter.close();
                        bufferedWriter.close();
                    }
                } catch (Exception e) {
    
                }
            }
    
        }
    
    }

     

    展开全文
  • java创建一个新文件The task is to create a new empty file in Java. 任务是用Java创建一个新的空文件。 Creating a new empty file 创建一个新的空文件 To create a new empty file in java – we use ...
  • java创建Excel文件

    千次阅读 2012-10-23 14:27:04
    Excel现在运用的很广泛,有的时候需要被做成数据库,这里介绍一种java创建读取Excel的方法。 PIO是Apache Jakarta项目下的一个开源工具包,对Excel操作封装的很好。 PIO包可以再我的资源里的下载! 创建Excel文件...
  • java中对于文件文件目录的的创建: 1)都要用到File类; 2)File只提供文件文件目录的方法,不可以对其内容进行访问; 3)如果访问,需要IO流; 一,创建一个文件/文件目录 File 文件/文件目录 = new ...
  • Java创建隐藏文件

    千次阅读 2016-11-22 13:35:02
    import java.io.File;  import java.io.IOException;    public class 设置文件属性 {  // 执行以下代码你将看到一个属性为隐藏的文件(D:ddd.ddd)  ...public static void main... // 创建新文
  • Java创建临时文件示例

    千次阅读 2015-05-28 18:07:59
    Java创建临时文件示例,在实际的程序设计中经常会用到临时文件,用于存储临时数据等。Java 语言也支持临时文件操作,本例演示了如何创建一个临时文件,并在其中存储数据。如下图所示,当按下“Create a TempFile”...
  • Java 读取文本文件

    万次阅读 多人点赞 2018-08-29 14:22:14
    File Path FileReader 和 FileWriter InputStreamReader 和 OutputStreamWriter FileInputStream 和 FileOutputStream ...也就是说,一旦创建,由File对象表示的抽象路径名将永远不会改变。下面...
  • java创建临时文件

    千次阅读 2011-09-28 18:49:03
    createTempFile (String prefix, String suffix) 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 createTempFile (String prefix, String suffix, File directo
  • Java创建hdfs文件实例

    千次阅读 2014-07-12 10:43:46
    1.创建文件 过"FileSystem.create(Path f)"可在HDFS上创建文件,其中f为文件的完整路径。 package com.hebut.file; import org.apache.hadoop.conf.Configuration;   import org.apache.hadoop.fs...
  • package file; import java.io.File; import java.io.FileOutputStream; import java.io.... // 此方法的主要作用是判断创建文件是否成功,如果成功则返回true否则返回false public static boolean createFi
  • Java 创建一个文本文件,并对其读和写。 本文地址:http://blog.csdn.net/shanglianlm/article/details/47420183
  • java 创建文件写入字符串并读取字符

    千次阅读 2019-06-24 10:48:53
    使用java创建txt文件并进行读写 package file; import java.io.*; import java.io.FileWriter; public class FileTest { public static void main(String[] args) { File a=new File("D:/javaz.txt");...
  • java创建txt文件并存入内容

    万次阅读 2017-04-18 14:01:42
    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintW
  • Java创建文件和文件夹源码实例

    千次阅读 2020-06-12 09:11:09
    以下实例演示了使用 File 类的 File() 构造函数和 file.createNewFile() 方法来创建一个文件,需要的朋友可以参考一下: import java.io.File; import java.io.IOException; public class Main { public ...
  • java 创建csv文件并写入文字

    千次阅读 2019-07-26 10:59:14
    String filePath="/abc/"; File file = new File(filePath + "abd.csv"); //创建目录 File fileParent = file.getParentFile(); if (!fileParent.exists()) { ... //删除并创建新文件 if(file.exi...
  • 2、File.createFile() 方法创建新文件,若文件已经存在则返回false,创建成功返回true 3、使用FileInputStream读取文件文件内容,使用BufferedInputStream加速读取 4、无论上述步骤成功与否都要最后关闭相关的...
  • package com.abin.facade.ws.mail.function; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; public clas
  • java创建文件和目录

    万次阅读 多人点赞 2013-09-04 12:56:03
    创建文件和目录的关键技术点如下: 1、File类的createNewFile根据抽象路径创建一个的空文件,当抽象路径制定的文件存在时,创建失败 2、File类的mkdir方法根据抽象路径创建目录 3、File类的mkdirs方法根据抽象...
  • JAVA创建TXT文件并写入内容

    千次阅读 2019-12-23 10:37:01
    public static void main(String[] args) { try { // 保存路径 String path = "D://logs"; String title = "一个TXT"; String content = "一段话";... // 防止文件建立或读取失败,用catch捕捉错误并...
  • java 创建临时临时文件

    万次阅读 2013-10-23 17:33:00
    import java.io.File;... * 创建新文件和目录 */ public class CreateFileUtil { /** * 创建单个文件 * @param destFileName 目标文件名 * @return 创建成功,返回true,否则返回false */ public sta
  • 以上代码存在一个creaNewFile()方法创建新文件的过程,所以可以在c盘里看的到所创建的myfile.txt文件,下面创建一个Example10_1.java的过程,却没有创建成功是因为没有用这个方法创建一个新的在C://ch10目录下, ...
  • 创建.java文件

    2019-12-25 10:10:09
    如果你不知道什么是notepad,那么你可以在空白处点击鼠标右键à新建à文本文档来创建文本文件。 然后修改文件名称为HelloWorld.java,注意文件名称的大小写。以及是否已经修改了文件的扩展名。 如果看不到文件...
  • java创建zip压缩文件

    千次阅读 2019-10-28 19:43:55
    这里给的demo是压缩整个文件夹,如果需要压缩单个文件需要你自己更改一下. import java.io.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** * @ClassName File2Zip * @Auther ...
  • public static void writeTXT(String path,String title,String content){ try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,037,717
精华内容 415,086
关键字:

java创建新文件

java 订阅