请分别使用FileOutputStream、FileWrite、BufferedWrite三种方法实现写入文件功能。
1. FileOutputStream
Java流使用的基本思路为:1.构造流对象 2.打开流 3.关闭流 流对象中传输的只能是字节 byte[ ] 其他类型的变量都只能转化为字节
public static void Out_1()
{
try{
// 建立文件流,文件路径需要添加\\ 进行转义符 文件流输出直接进行覆盖
FileOutputStream fout = new FileOutputStream("D:\\test\\thank you.txt");
// 只能将字符串修改为byte数组才可以进行字节流的传输
String s = "I'M OKAY!";
byte[] bytes = s.getBytes();
fout.write(bytes);
fout.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
2. FileWriter
可以直接传字符串
public static void Out_2()
{
try{
FileWriter fw = new FileWriter("D:\\test\\thank you.txt");
String s = "I'm LeiJun";
// 不是字节流,用String 进行传输
fw.write(s);
fw.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
3. BufferedWriter
BufferedWriter对象的建立依赖于FileWriter对象
public static void Out_3()
{
try{
FileWriter fw = new FileWriter("D:\\test\\thank you.txt");
BufferedWriter bw = new BufferedWriter(fw);
String s = "thank you very much";
bw.write(s);
bw.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
完整:
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args)
{
//Out_1();
//Out_2();
Out_3();
}
public static void Out_1()
{
try{
// 建立文件流,文件路径需要添加\\ 进行转义符 文件流输出直接进行覆盖
FileOutputStream fout = new FileOutputStream("D:\\test\\thank you.txt");
// 只能将字符串修改为byte数组才可以进行字节流的传输
String s = "I'M OKAY!";
byte[] bytes = s.getBytes();
fout.write(bytes);
fout.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
public static void Out_2()
{
try{
FileWriter fw = new FileWriter("D:\\test\\thank you.txt");
String s = "I'm LeiJun";
// 不是字节流,用String 进行传输
fw.write(s);
fw.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
public static void Out_3()
{
try{
FileWriter fw = new FileWriter("D:\\test\\thank you.txt");
BufferedWriter bw = new BufferedWriter(fw);
String s = "thank you very much";
bw.write(s);
bw.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}