-
2021-03-09 00:47:22
Java 创建一个文本文件,并对其读和写。
本文地址:http://blog.csdn.net/shanglianlm/article/details/47420183
package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test2 {
public static void main(String[] args) throws IOException{
String path = "e:\\test\\test\\test3.txt";
File file = new File(path);
if(!file.exists()){
file.getParentFile().mkdirs();
}
file.createNewFile();
// write
FileWriter fw = new FileWriter(file, true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("xxxaffdf");
bw.flush();
bw.close();
fw.close();
// read
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String str = br.readLine();
System.out.println(str);
br.close();
fr.close();
}
}
更多相关内容 -
Java创建新文件
2021-03-06 17:13:39方法一:使用File.createNewFile()方法java.io.File类可用于在Java中创建新文件。当初始化File对象时,需要提供一个文件名,然后调用createNewFile()方法来在Java中创建新文件。如果创建新文件成功,则...创建文件是一种非常常见的IO操作,在这一小节中我们将学习如何在java中创建文件的几个方法。
在java中创建文件有三种流行的方法,下面将一个一个地来学习。
方法一:使用File.createNewFile()方法
java.io.File类可用于在Java中创建新文件。当初始化File对象时,需要提供一个文件名,然后调用createNewFile()方法来在Java中创建新文件。
如果创建新文件成功,则文件createNewFile()方法返回true,如果文件已存在则返回false。当它无法创建文件时,此方法也会抛出java.io.IOException异常。创建的文件为空且零字节。
当通过传递文件名来创建File对象时,它可以是绝对路径,或者只能提供文件名,或者可以提供相对路径。
对于非绝对路径,File对象尝试查找项目根目录中的文件。如果从命令行运行程序,对于非绝对路径,File对象会尝试从当前目录中查找文件。
在创建文件路径时,应该使用System属性file.separator来使程序平台独立。
下面让我们来看看使用java程序创建一个新文件的不同场景。
import java.io.File;
import java.io.IOException;
public class CreateNewFile {
/**
* 该类显示了如何在Java中创建文件
*
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String fileSeparator = System.getProperty("file.separator");
// 带路径的绝对文件名
String absoluteFilePath = "temp" + fileSeparator + "temp2" + fileSeparator + "file.txt";
System.out.println(System.getProperty("user.dir"));
File file = new File(absoluteFilePath);
if (file.createNewFile()) {// 工程目录下要有一个目录:temp/temp2
System.out.println(absoluteFilePath + " File Created");
} else
System.out.println("File " + absoluteFilePath + " already exists");
// 只提供文件名称
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");
// 相对路径
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");
}
}
当第一次在Eclipse IDE执行上述程序时,会生成以下输出。
D:\worksp\eclipsej2ee\TestJava
temp\temp2\file.txt File Created
file.txt File Created in Project root directory
Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at CreateNewFile.main(CreateNewFile.java:37)
对于相对路径,它会抛出IOException异常,因为项目根文件夹中不存在tmp目录。所以很明显createNewFile()只是尝试创建文件,任何绝对或相对的目录都应该存在,否则抛出IOException异常。所以需要在项目根目录中创建tmp目录并再次执行程序,输出如下所示 -
D:\worksp\eclipsej2ee\TestJava
File temp\temp2\file.txt already exists
File file.txt already exists in the project root directory
tmp\file.txt File Created in Project root directory
方法二: 使用FileOutputStream.write(byte[] b)方法
如果要创建新文件并同时并写入一些数据,可以使用FileOutputStream方法。下面是一个简单的代码片段,用于演示它的用法。上面讨论的绝对路径和相对路径的规则也适用于这种情况。
String fileData = "Maxsu from Yiibai.com";
FileOutputStream fos = new FileOutputStream("readme.txt");
fos.write(fileData.getBytes());
fos.flush();
fos.close();
方法三: 使用Java NIO Files.write()方法
可以使用Java NIO Files类来创建一个新文件并将一些数据写入其中。这是一个很好的选择,因为它不必担心关闭IO资源。
String fileData = "Maxsu from Yiibai.com";
Files.write(Paths.get("readme.txt"), fileData.getBytes());
上面就是在java程序中常用用于创建新文件的全部内容。
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。
-
java创建新文件_Java创建新文件
2020-07-19 20:44:52java创建新文件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)
There are three popular methods to create file in java. Let’s look at them one by one.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 callcreateNewFile()
method to create new file in Java.File
createNewFile()
method returnstrue
if new file is created andfalse
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 throwsIOException
.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()
returnsfalse
, 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
如果从终端类目录运行相同的程序,则输出为。
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写入方法。 以下是显示其用法的简单代码段。 上面讨论的绝对路径和相对路径的规则也适用于这种情况。
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示例。java创建新文件
-
java创建txt文件并存入内容
2020-08-27 01:43:39主要为大家详细介绍了java创建txt文件并存入内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
Java创建文件的常用方法
2021-02-28 15:33:51Java创建文件有几种常用的方法File.createNewFile()创建空白文件java.io.File类里的方法createNewFile()可以用来创建文件。createNewFile()新建的是空文件。创建文件首先要使用File类构建将要被创建的文件,然后再...Java创建文件有几种常用的方法
File.createNewFile()创建空白文件
java.io.File类里的方法createNewFile()可以用来创建文件。createNewFile()新建的是空文件。
创建文件首先要使用File类构建将要被创建的文件,然后再调用createNewFile()把新文件创建出来。
createNewFile()的结果分为三种情况:新文件创建成功返回true。
如果文件已经存在返回false。
如果是由于权限等原因导致不能创建文件,抛出java.io.IOException。
示例
使用绝对路径创建文件String fileSeparator = File.separator;
String absoluteFilePath = fileSeparator+"Users"+fileSeparator+"test"+fileSeparator+"test.txt";
File file = new File(absoluteFilePath);
try {
if(file.createNewFile()){
System.out.println(absoluteFilePath+"文件创建成功);
}else {
System.out.println(absoluteFilePath+"文件已存在");
}
} catch (IOException e) {
e.printStackTrace();
}
使用相对路径创建文件file = new File("file.txt");
try {
if(file.createNewFile()){
System.out.println(absoluteFilePath+"文件创建成功);
}else {
System.out.println(absoluteFilePath+"文件已存在");
}
} catch (IOException e) {
e.printStackTrace();
}
如果在命令行执行新建文件,相对路径是会相对命令执行的当前目录。
PrintWriter创建文本文件PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
writer.println("第一行内容");
writer.println("第二行内容");
writer.close();
注意:如果文件存在,会覆盖原文件
FileOutputStream.write(byte[] b) 创建二进制文件String fileData = "Hello,World!";
FileOutputStream fos = new FileOutputStream("name.txt");
fos.write(fileData.getBytes());
fos.flush();
fos.close();
注意:如果文件存在,会覆盖原文件
Java NIO Files.write()(Java7+ )
Java 7新增了Files,我们可以用它来创建文件,并向文件添加内容List lines = Arrays.asList("第一行内容", "第二行内容");
Path file = Paths.get("file.txt");
Files.write(file, lines, Charset.forName("UTF-8"));
注意:如果文件存在,会覆盖原文件
-
Java创建新文件并写入指定的数据(字节数组/输入流)!
2020-07-20 15:26:08Java创建新文件并写入指定的数据 Java的其他文件操作,也会在该专栏更新 1.写入字节数组 /** * 新建新的文件并写入指定字节数组的数据 * @param fileName 文件目录及名称字符串 * @param bytes 字节数组 * @... -
Java创建新文件的方法
2013-03-29 11:02:42Java代码,如果文件名对应的文件不存在,则把文件名作为目录,并产生不会重名的新文件 -
Java创建一个新文件,或者覆盖现有文件
2021-07-17 01:06:41Here are two Java FileWriter examples showing that: Writer fileWriter = new FileWriter("c:\\data\\output.txt", true); //appends to file Writer fileWriter = new FileWriter("c:\\data\\output.txt", ... -
Java如何创建文件?java创建文件流程图文详解!
2021-10-18 18:52:19用Java创建文件是非常容易的。以前我们创建文件等等行为完全通过提示来进行的,学习了java后,我们便可利用java通过命令来创建文件。 1、打开您的IDE工具,并创建一个文件。 2、接下来,您需要对您之前创建的... -
java实现创建指定路径下的文本文件的写功能
2019-01-03 09:20:23java实现创建指定路径下的文本文件的写功能 -
用Java创建和编写文件的五种方法 java中创建文件的五种方法
2021-03-15 21:35:30这种方式是实现文本文件简单读写最方便快捷的方式。 2. Java 7 Files.write @Test void testCreateFile1() throws IOException { String fileName = "D:\\data\\test\\newFile.txt"; Path path = Paths.get(fileName... -
Java获得文件创建时间
2019-03-01 16:35:42编译成的DLL文件,和Java调用代码 博文链接:https://pet.iteye.com/blog/188313 -
Java读取文本文件内容
2017-11-24 16:44:07Java读取文本文件内容Demo; 主要代码: char charArr[]=new char[1024]; //创建可容纳 1024 个字符的数组 FileReader b=new FileReader("D:\\temp\\test.txt"); int iNum=b.read(charArr); //将数据读入到数组 a ... -
java创建临时文件
2021-02-12 09:47:20createTempFile(String prefix, String ...createTempFile(String prefix, String suffix, File directory)在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。public voiddeleteOnExit();... -
总结java中创建并写文件的5种方式
2021-02-27 08:39:28在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。Files.newBufferedWriter(Java 8)Files.write(Java 7 推荐)PrintWriterFile.... -
java创建txt文件
2020-12-13 19:29:21import 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 ... -
JAVA创建文件后权限不足的问题,无法设置权限的问题
2021-02-27 17:28:46JAVA创建文件后权限不足的问题,无法设置权限的问题凯哥java 凯哥java前言:在工作中,项目使用到文件上传,这个功能是很常见的吧。今天,凯哥修改自己的公众号的时候,遇到了一个问题:那就是上传后的文件访问不到... -
Java创建文件或者文件夹
2021-02-28 19:04:07package DirFolderManager;import java.io.File;.../*** Title:Demo* Description:创建文件或者文件夹* Copyright: Copyright (c) VISEC 2015* CreatTime: Apr 1 2015 * @author Dana丶Li* @version 1... -
java基础 创建xml文件
2021-02-28 13:10:49import java.io.File;import java.io.StringWriter;import java.security.KeyStore.Builder;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import j... -
Java创建新文件的同时创建相应目录
2016-04-19 22:07:21在java中,要想调用File对象 的createNewFile()方法,需要上一级的目录已经创建,手动创建比较麻烦,所以写了一个工具类用于创建新文件的同时创建相应的目录。 不多说,直接贴代码: public class MyFileUtil { ... -
java中实现创建目录、创建文件的操作
2021-09-29 17:31:35一、创建目录 mkdir()——仅创建一层目录,返回true或false. mkdirs()——创建一层或多层目录,返回true或false. 也就是,在通常情况下,使用mkdirs()即可满足创建目录的需求。 如, File file = new File("D:\\my... -
java创建一个新文件_用Java创建一个新的空文件
2020-07-22 21:15:55java创建一个新文件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 权限 创建文件_Java的文件权限
2020-07-18 14:53:04java 权限 创建文件 Java has always been considered a multi-platform language - you write your code once and then you use it on almost any Operating System. Unfortunately for most Java de... -
java创建excel示例(jxl使用方法)
2020-09-04 13:49:02Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新 已经存在的Excel文件。下面是使用方法,包括去掉网格线、字体设置、单元格设置、对齐方式等设置 -
Java创建文件并写入内容
2018-08-14 23:49:15以下代码可以创建一个文件,并使用FileWriter向文件中写入内容,若路径不存在则自动创建路径,若文件已经存在,则不再创建 public void createFile() throws IOException { String filePath = "D:/a/b&... -
Java中创建并写文件的5种方式
2021-02-12 14:14:21导读在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家...