用于创建新文件的Java程序
File 是一个抽象的路径,它没有物理存在。只有在“使用”该文件时,才会命中底层物理存储。当文件被间接创建时,抽象路径被创建。该文件是一种方式,其中数据将根据需要存储。
主要,为了创建一个新文件,使用了内置文件和函数,这些文件和函数肯定会在这里抛出异常,以确保安全。所以为了处理它,我们将使用异常处理技术。在这里,我们将使用其中一种已知的 as-try-catch 块技术。
其次,额外的工作只是我们将导入我们将为其导入文件类的文件类。
语法:导入文件库或类
import java.util.File ;
语法:创建一个新文件
File object_name = new File(Directory)
语法:指定目录 在不同的操作系统中是不同的(假设Java文件在桌面上创建的名为'Folder'的文件夹中)
在 Linux 和 Mac 中
/Users/mayanksolanki/Desttop/Folder/
在 Windows 中:使用 '\\' 代替 '/' 来转义 '\'字符。所以访问相同的目录
\\Users\\mayanksolanki\\Desktop\\Folder\\
有两种标准方法可以直接在 File 类的帮助下创建新文件,或者通过在这两种方法中创建文件对象来间接在 FileOutputStream 的帮助下创建新文件。
- 通过使用文件类
- 通过使用 FileOutputStream 类
File Class | FileOutputStreamClass |
---|---|
It is a class which is just a handle for | It is an output stream that can be written to FileOutputStream JavaDoc |
Method: File.createNewFile() | Method: FileOutputStream Example: echo > myFile.txt |
It is used for those objects which are not having physical existence | It is used for those objects which are already existing |
这两个类都提供了一些主要用于对文件进行操作的方法。例如,创建、写入、比较两个路径名、检查特定文件是否存在等等。要理解这个主题,首先,考虑两种方法的一个例子。
- Terminal Command used to compile any java code on the machine
- Terminal Command used to Run any java code on the machine
- javac class_name.java // For Compilation
- java class_name // For Execution
Terminal of Mac operating system will be used for implementation and providing an output of accessing the directory
Directory Used : /Users/mayanksolanki/Desktop/Folder/
方法一:使用 File 类创建一个新文件
Java
// Java Program to create new file using File class
// Importing new files
import java.io.File;
import java.io.BufferedReader;
// Importing as it converts bits to strings
import java.io.InputStreamReader;
public class GFG {
// Main Driver Method
public static void main(String args[])
{
// Creating New File via function
GFG gfg = new GFG();
gfg.newFile();
}
// Function To Make New File
public void newFile()
{
String strPath = "", strName = "";
// Try-catch Block
try {
// Creating BufferedReadered object
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter the file name:");
// Reading File name
strName = br.readLine();
System.out.println("Enter the file path:");
// Reading File Path
strPath = br.readLine();
// Creating File Object
File file1
= new File(strPath + "" + strName + ".txt");
// Method createNewFile() method creates blank
// file.
file1.createNewFile();
}
// Try-Catch Block
catch (Exception ex1) {
}
}
}
Java
// Java Program to create new file
// using FileOutputStream class
// Importing File Classes
import java.io.FileOutputStream;
// Importing BuffferedReader Class for taking input
import java.io.BufferedReader;
// Importing as it converts bits to strings
import java.io.InputStreamReader;
// Function Helping Create New File
public class GFG {
// Main Driver Method
public static void main(String args[])
{
// Creating File Object
GFG gfg = new GFG();
gfg.newFile();
}
// Function To Create A New File
public void newFile()
{
String strFilePath = "", strFileName = "";
// Try-Catch Block
try {
// Creating BufferClass Object
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter the file name:");
// Asking file name from User
strFileName = br.readLine();
System.out.println("Enter the file path:");
// Asking file path from User
strFilePath = br.readLine();
// Creating Object of FileOutputStream Class
FileOutputStream fos = new FileOutputStream(
strFilePath + "" + strFileName + ".txt");
}
// Try-Catch Block
catch (Exception ex1) {
}
}
}
输出:
Name of file to be added : newFile.txt
Directory where file is to be added : /Users/mayanksolanki/Desktop/Folder/
Added fie name : newFile.txt
Added file name directory : /Users/mayanksolanki/Desktop/Folder/
解释:
- 要使用Java语言创建新文件,此处使用“File”类。 “BufferedReader”和“InputStreamReader”这两个类都用于从 用户作为输入。这些类位于“Java.io”包内。因此,要使用这些类,必须在程序开始时导入这些类。
- 这里创建了类,即“GFG”。在该类中定义了“main()”方法,从该方法开始执行。
- 在“main() ”方法内部创建了类的对象。这个对象用来调用“ newFile() ”方法。
- 在main()方法之外,声明了newFile()方法,该方法涵盖了从用户获取输入并根据输入创建文件的代码。
- 由于文件有自己的名称和路径,因此有必要为文件(我们要创建的文件)和文件的路径(创建文件的位置)提供名称。在这一行中,声明了两个空字符串,即strName、strPath。 “strName 和 strPath 用于存储文件的名称和路径,当用户提供此信息时。
- 为了将用户的文件名和路径作为输入,这里使用了 BufferedReader 类和 InputStreamReader 类。 BufferedReader “br”的对象对于获取用户给出的输入值很有用。
- 此行打印一些文本以向用户提供指示,例如“输入文件名:”。使用“ println() ”函数打印文本。
- 这里“ readLine() ”方法用于获取输入并将其存储在 strName 和 strPath 中。
- 这里创建了 File 类的对象,并将文件路径和名称作为参数提供给构造函数。在这行代码中,“.txt”是文件的格式。您可以根据需要更改它。 File 类的对象是调用其类中提供的方法所必需的。
- 这里“ createNewFile() ”方法是在 File 类对象的帮助下调用的。此方法在给定的目录路径上创建一个空白文件。
- 最后,由“try{}”块包围。因为像readLine()和createNewFile()方法会产生异常。所以为了处理那个异常 try,catch 被使用。
方法二:使用 FileOutputStream 类创建一个新文件
Java
// Java Program to create new file
// using FileOutputStream class
// Importing File Classes
import java.io.FileOutputStream;
// Importing BuffferedReader Class for taking input
import java.io.BufferedReader;
// Importing as it converts bits to strings
import java.io.InputStreamReader;
// Function Helping Create New File
public class GFG {
// Main Driver Method
public static void main(String args[])
{
// Creating File Object
GFG gfg = new GFG();
gfg.newFile();
}
// Function To Create A New File
public void newFile()
{
String strFilePath = "", strFileName = "";
// Try-Catch Block
try {
// Creating BufferClass Object
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter the file name:");
// Asking file name from User
strFileName = br.readLine();
System.out.println("Enter the file path:");
// Asking file path from User
strFilePath = br.readLine();
// Creating Object of FileOutputStream Class
FileOutputStream fos = new FileOutputStream(
strFilePath + "" + strFileName + ".txt");
}
// Try-Catch Block
catch (Exception ex1) {
}
}
}
解释:
在里面 第二个例子, 文件类不用于创建 以编程方式新建文件。
- 要使用Java语言创建新文件,这里使用“FileOutputStream”类,“BufferedReader”和“InputStreamReader”都用于从用户获取文件名和路径作为输入。这些类位于“Java.io”包内。所以要使用这些类,有必要在程序开始时导入它们。
- 创建的类即“GFG”。在该类中定义了“main()”方法,从该方法开始执行。
- 在“main()”方法内部创建了类的对象。这个对象用来调用“newFile()”方法。
- 在 main() 方法之外,声明了 newFile() 方法,该方法涵盖了从用户获取输入并根据输入创建文件的代码。
- 在这一行中,声明了两个空字符串,即strFileName、strFilePath。 “strFileName 和 strFilePath 用于存储文件的名称和路径,当用户提供此信息时。
- 为了将用户的文件名和路径作为输入,这里使用了 BufferedReader 类和 InputStreamReader 类。 BufferedReader “br”的对象对于获取用户给出的输入值很有用。
- 此行打印一些文本以向用户提供指示,例如“输入文件名:”。使用“println()”函数打印文本。
- 这里的“readLine()”方法用于获取输入并将其存储在 strFileName 和 strFilePath 中。
- 这里创建了 FileOutputStream 类的对象,并将文件路径和名称作为参数提供给构造函数。在这行代码中,“.txt”是一种文件格式。您可以根据需要更改它。 FileOutputStream 类的对象是调用其类中提供的方法所必需的。例如,如果用户想以编程方式在新创建的文件中存储一些文本,那么 write() 方法会很有帮助。
- 最后,由“try{}”块包围。因为, readLine() 方法会产生异常。因此,为了处理该异常 try,使用了 catch 块。
输出:它将与前一个相同,因为只是创建新文件的方法更改了文件名的其余部分,并且添加它的目录保持不变。
Added fie name : newFile.txt
Added file name directory : /Users/mayanksolanki/Desktop/Folder/