Groovy - 创建文件
在 Groovy 中创建文件
我们可以在 Groovy 中使用多种方式创建文件。以下是在 Groovy 中创建文件的三种最常用方式 −
使用 FileOutputStream() 构造函数
使用 File.createNewFile() 方法
使用 File() 构造函数
让我们逐一查看在 Groovy 中创建文件的方式。
使用 FileOutputStream 构造函数创建文件
FileOutputStream class 用于创建文件并向其中写入数据。如果文件尚不存在,该流会在打开用于输出之前创建文件。
以下构造函数接受一个字符串作为文件名,用于创建输出流对象以写入文件 −
语法
OutputStream os = new FileOutputStream("test.txt");
示例 - 使用 FileOutputStream 构造函数创建文件
以下示例演示了使用 FileOutputStream 在当前目录中创建文件 −
Example.groovy
class Example {
static void main(String[] args) {
try {
byte[] bWrite = [65, 66, 67, 68, 69];
OutputStream os = new FileOutputStream("test.txt");
for(int x = 0; x < bWrite.length ; x++) {
os.write( bWrite[x] ); // 写入字节
}
os.close();
InputStream is = new FileInputStream("test.txt");
int size = is.available();
for(int i = 0; i < size; i++) {
System.out.print((char)is.read());
}
is.close();
} catch (IOException e) {
System.out.print("Exception");
}
}
}
上述代码将创建文件 test.txt,并以二进制格式写入给定的数字。同样的内容将输出到 stdout 屏幕上。
输出
ABCDE
示例 - 使用 File.createNewFile() 方法创建文件
File.createNewFile() 方法允许在指定位置或当前目录中创建文件,如下所示 −
语法
File file = new File("test1.txt");
//创建文件
if (file.createNewFile()) {
System.out.println("文件已创建!");
} else {
System.out.println("文件已存在。");
}
示例 - 使用 File.createNewFile() 方法创建文件
以下示例演示了使用 createNewFile() 方法在指定目录中创建文件 −
Example.groovy
class Example {
static void main(String[] args) {
try {
File file = new File("test1.txt");
//创建文件
if (file.createNewFile()) {
System.out.println("文件已创建!");
} else {
System.out.println("文件已存在。");
}
// 写入内容
FileWriter writer = new FileWriter(file);
writer.write("Test data");
writer.close();
// 读取内容
FileReader reader = new FileReader(file);
int c;
while ((c = reader.read()) != -1) {
char ch = (char) c;
System.out.print(ch);
}
} catch (IOException e) {
System.out.print("Exception");
}
}
}
输出
上述代码将创建文件 test.txt,并以文本格式写入给定的字符串。同样的内容将输出到 stdout 屏幕上。
文件已创建! Test data
使用 File() 构造函数创建文件
File() 是一种更简单的方法,可以在同一条命令中创建文件并向文件中写入内容,如下所示 −
语法
new File('test.txt').withWriter('utf-8') { writer -> writer.writeLine 'Hello World!' }
示例:使用 File() 构造函数创建文件
以下示例演示了如何使用 File 构造函数在指定目录中创建文件 −
class Example {
static void main(String[] args) {
try {
new File('test.txt').withWriter('utf-8') {
writer -> writer.writeLine 'Hello World'
}
} catch (IOException e) {
System.out.print("Exception");
}
}
}
输出
上述代码会在当前目录中创建文件 test.txt,并以文本格式写入指定的字符串。stdout 屏幕上的输出将相同。
Hello World!