java中文本,关于Java中写入文本文件的相关介绍

首先,写入文本文件需要打开一个文件,打开一个文件有两种形式,分为创建一个新的文件和向一个已有的文件中追加数据

我们先来看一看创建一个新的文件的方法

创建一个新的文件

package com.li;

import java.io.PrintWriter;

import java.io.FileOutputStream;

import java.io.FileNotFoundException;

public class Main {

public static void main(String[] args) {

// TODO 自动生成的方法存根

PrintWriter outputStream = null;

try

{

outputStream = new PrintWriter(new

FileOutputStream("stuff.txt"));

}catch (FileNotFoundException e)

{

System.out.println("Error opening the file

stuff.txt");

System.exit(0);

}

System.out.println("Writing to file");

outputStream.println("The quick brown fox");

outputStream.println("jumped over the lazy

dog.");

outputStream.close();

System.out.println("End of program");

}

}

文件的输入和输出的相关的类都在java.io包中,在事例程序中,我们创建了一个名为stuff.txt的文件,在我们的工程文件夹下面我们可以看到一个这样的文本文件,打开后里面是

The quick brown fox

jumped over the lazy dog.

两行字符。

使用

outputStream = new PrintWriter(new

FileOutputStream("stuff.txt"));

来创建一个新的文件,outputStream变量是PrintWriter类型的,并且实在try块外面声明的,这是因为如果在try语句块内部声明,那么outputStream变量将会变成一个局部变量,将无法在try外部使用。而使用这种方法创建的文件总是一个空的文件,也就是说,如果你指定的文件夹中没有stuff.txt文件,那么系统会帮你创建一个stuff.txt文件,如果有一个stuff.txt文件,那么会先删除原先的stuff.txt文件,然后再创建一个新的stuff.txt文件。

我们使用try – catch语句来捕获异常,防止创建文件失败,好抛出异常。

在向文件中写入数据的时候,我们使用的print方法,println方法,printf方法等等和我们平时输入到屏幕上的其实是一样的。

在对文件操作完成以后不要忘记关闭文件,虽然java会帮我们关闭文件,但是当程序异常的结束或者发生错误的时候,java没法帮我们关闭文件,而且还有可能损坏文件。而关闭文件还有一个好处就是可以把缓冲区的所有数据强制输出到文件中,防止文件不完整。

我们最后再谈谈缓冲区的问题,与文件相连的输出流通通常被缓冲,这就意味着程序并非尽快的实际写入输出数据的每一个实例,而是把数据保存到一个成为缓冲区的临时储存单元中,当这个临时储存单元累积的数据足够多的时候,把数据写入文件,这样做可以减少写入次数,提高效率,使用flush()方法可以强制把已被缓冲,但还没有实际写入文件的数据写入文件,而是用close()方法可以同时自动的调用flush()方法。

把数据追加到文本文件

最后我们再来讲一下把数据追加到文本文件,其实就是打开文件的时候有点不太一样,使用

outputStream = new PrintWriter(new

FileOutputStream("stuff.txt", true));

就可以实现向文本文件中盘那个追加数据,同时true可以使用一个boolean的变量来代替,可以让用户选择是否向文件中追加数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,可以使用字符流和字节流来写入文本文件。字符流适用于处理文本内容,而字节流适用于处理二进制数据。你可以根据具体的需求选择适合的方法。 一种常见的字符流写入文本文件的方法是使用FileWriter类。你只需要传入具体的文件路径和待写入的内容即可。下面是一个示例代码: ```java import java.io.FileWriter; import java.io.IOException; public class Main { public static void main(String[] args) { fileWriterMethod("/Users/mac/Downloads/io_test/write1.txt","Hello,Java."); } public static void fileWriterMethod(String filepath, String content) { try (FileWriter fileWriter = new FileWriter(filepath)) { fileWriter.write(content); } catch (IOException e) { e.printStackTrace(); } } } ``` 另一种常见的字节流写入文本文件的方法是使用BufferedOutputStream类。你可以使用它的write方法将内容写入文件。下面是一个使用BufferedOutputStream写入文本文件的示例代码: ```java import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try { bufferedOutputStreamMethod("/Users/mac/Downloads/io_test/write1.txt", "Hello,Java."); } catch (IOException e) { e.printStackTrace(); } } public static void bufferedOutputStreamMethod(String filepath, String content) throws IOException { try (BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(filepath))) { bufferedOutputStream.write(content.getBytes()); } } } ``` 以上就是两种常见的Java写入文本文件的方法。你可以根据具体的情况选择适合自己的方法来实现文件写入操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值