Java基本文件写入操作
这里列出几种常见的文件写入操作与各种操作的基本属性,供之后的实验和学习中使用。
import java.io.*;
public class Main {
public static void writeByFileWriter() {
// FileWriter 类存在四种构造器
//1. public FileWriter(String fileName) throws IOException
//2. public FileWriter(String fileName,boolean append) throws IOException
//3. public FileWriter(File file) throws IOException
//4. public FileWriter(File file,boolean append) throws IOException
//在不存在文件的情况下均会生成对应文件,无需 FIle.exits() 检查
//如果对应文件路径参数非正常文件路径 (例如文件夹) 则会 throws 错误
//对于非文本文件(视频、图片、音频) 只能使用 字节流!
//适用于写入文本较少的情况
String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
String text = "hehhehhehe hhahhahha \n";
try {
FileWriter fw = new FileWriter(pathName);
fw.write(text);
fw.flush();
fw.close();
}catch (IOException e){
e.printStackTrace();
}
}
public static void writeByBuffer(){
//BufferedWriter 构造器:
//1. public BufferedWriter(Writer out)
//2. public BufferedWriter(Writer out,int sz)
// BufferWriter FileWriter 都是继承Writer
//java继承特性 参数定义为类A时 参数可以使用其本身或子类,但不能使用其父类
// BufferedWriter 使用的是 字符输出流
//内容较多时一般使用更高效的缓冲器流类BufferedWriter
String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
String text = "hehhehhehe hhahhahha \n";
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(pathName));
bw.write(text);
bw.flush();
bw.close();
}catch (IOException e){
e.printStackTrace();
}
}
public static void writeByBufferedStream(byte[] buf){
//构造器
//1. public BufferedOutputStream(OutputStream out)
//2. public BufferedOutputStream(OutputStream out,int size)
//BufferedOutputStream 使用的是字节流
String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
try {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(pathName));
bos.write(buf);
bos.flush();
bos.close();
}catch (IOException e){
e.printStackTrace();
}
}
public static void writeByFileInputStream(byte[] buf){
//类比 FileWriter 和 BuffrdWriter的区别
String pathName = "C:\\Users\\DELL\\Desktop\\1.txt";
try{
FileOutputStream fos = new FileOutputStream(pathName);
fos.write(buf);
fos.flush();
fos.close();
}catch (IOException e){
e.printStackTrace();
}
}
}