如何使用java写文件
1、使用FileOutputStream类
FileOutputStream类提供了write方法来写入文件。语法是:
public void write(byte[] b) throws IOException
我们可以看到,它是把字节数组写入文件。所以我们需要先将我们的内容转换为字节数组, 然后再将其写入文件中。
2、完整代码:
在下面的示例中, 我们将一串字符串写入到一个文件。
为了将String转换为字节数组, 我们使用了字符串类的getBytes () 方法.
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteFileDemo {
public static void main(String[] args) {
FileOutputStream fos = null;
File file;
String mycontent = "需要写入文件的数据" + " to be written into the file";
try {
// 指定写入文件的路径
file = new File("D:/myfile.txt");
fos = new FileOutputStream(file);
/* 先检测文件是否存在,如果不存在则先创建*/
if (!file.exists()) {
file.createNewFile();
}
/*
* 字符串的内容没法直接写到文件,我们需要先使用getBytes转换为bytes。
*/
byte[] bytesArray = mycontent.getBytes();
fos.write(bytesArray);
fos.flush();
System.out.println("File Written Successfully");
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException ioe) {
System.out.println("Error in closing the Stream");
}
}
}
}

3、使用BufferedWriter类
这里我们将使用BufferedWriter的write()方法将文本写入文件中。
使用BufferedWriter的优点是它将文本写入字符输出流,从而获得更好的性能。
完整示例:
使用 BufferedWriter 写入文件
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFileDemo2 {
public static void main(String[] args) {
BufferedWriter bw = null;
try {
String mycontent = "需要写入文件的数据" + " to the specified File";
// 指定写入文件的路径
File file = new File("D:/myfile.txt");
/* 先创建文件*/
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file);
bw = new BufferedWriter(fw);
bw.write(mycontent);
System.out.println("写入成功");
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try {
if (bw != null)
bw.close();
} catch (Exception ex) {
System.out.println("Error in closing the BufferedWriter" + ex);
}
}
}
}

1、将内容追加到文件中,有两种方法。
1.使用FileWriter和BufferedWriter
2.使用PrintWriter
2、 1使用 FileWriter 和 BufferedWriter
1使用 FileWriter 和 BufferedWriter 将内容追加到文件中。其实可以直接使用FileWriter就可以追加,
但是同时使用BufferedWriter将获得更好的性能
实例代码
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
class AppendFileDemo
{
public static void main( String[] args )
{
try{
String content = "需要追加的内容。 " +
"1111222333";
//指定路径
File file =new File("D:/myfile.txt");
/* 判断文件是否存在,不存在则创建一个
*/
if(!file.exists()){
file.createNewFile();
}
//true的意思是把内容追加到file后面
FileWriter fw = new FileWriter(file,true);
//使用BufferedWriter 缓存使得写入更高效。
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
//关闭 BufferedWriter 缓存流
bw.close();
System.out.println("Data successfully appended at the end of file");
}catch(IOException ioe){
System.out.println("Exception occurred:");
ioe.printStackTrace();
}
}
}

3、 2.使用PrintWriter 。
最好的追加内容的方式就是使用PrintWriter。PrintWriter提供了更大的灵活性。任何使用PrintWriter写的东西都可以追加到文件后面。
4、import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.IOException;
class AppendFileDemo2
{
public static void main( String[] args )
{
try{
File file =new File("D://myfile.txt");
if(!file.exists()){
file.createNewFile();
}
FileWriter fw = new FileWriter(file,true);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);
//添加新行
pw.println("");
/* 下面三行追加内容到文件中
*/
pw.println("This is first line");
pw.println("This is the second line");
pw.println("This is third line");
pw.close();
System.out.println("Data successfully appended at the end of file");
}catch(IOException ioe){
System.out.println("Exception occurred:");
ioe.printStackTrace();
}
}
}

5、可以看到新内容已经追加到了文件后面
