继承关系图
public void output() throws IOException { String filename = "e:/a.txt"; String content = "hello"; File file = new File(filename); OutputStream fos = null; if(!file.exists()) { if (file.createNewFile()) { System.out.println("文件创建成功"); } else { System.out.println("文件创建失败"); } } else { //true代表追加,默认为覆盖 try { fos = new FileOutputStream(file, true); //写入一个字符 //fos.write(int n);传入的n,如果为整数则是ascll码值,传入的是该ascll对应的字符,也可以直接传入一个字符 fos.write(10);//整数 fos.write('A');//字符 //写入一个字符串,需要获取字符串的字节数组传入, //write源码中传入长度为数组长度 fos.write(content.getBytes()); //写入部分字节 fos.write(byte[] b, int off, int len);len不能超过字符串长度否则会报错,从off偏移量开始,传入len长度的字符串 fos.write(content.getBytes(), 0, 2); } catch (IOException e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
FileWriter 文件字符输出流
FileWriter相关方法
new FileWriter(file/String);//覆盖模式,相当于流的指针在首端
new FileWriter(file/String, append);//追加模式,相当于流的指针在尾端
write(int n);//写入单个字符
write(char[]);//写入指定字符数组
write(char[], off, len)//写入数组中的指定部分
write(string);//写入整个字符串
write(String, off, len );//写入字符串的指定部分
相关API:
String.toCharArray();//将String转化成char[]
注意:FileWriter使用完后,必须要关闭或者flush(刷新),否则写入不到指定的文件①如果文件不存在filewriter会创建该文件
②flush()刷新输出流,将内容写入文件,不会关闭输出流,当你想写入文件内容时可以使用该方法
③close()相当于刷新输出流+关闭输出流。
package com.edu.file; import org.junit.Test; import java.io.*; /** * @author mtl121 * @version 1.0 */ public class FileWriter01 { public static void main(String[] args) { } public void createfile(String filename, File file) { if(!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } @Test public void Writer() { String content = "风雨之后能见彩虹"; String filename = "e:/note.txt"; char[] cs = {'a', 'b', 'k'}; FileWriter fw = null; File file = new File(filename); // createfile(filename, file); try { fw = new FileWriter(file); fw.write('A');//字符 fw.write(cs);// 字符数组 fw.write(cs, 0, 2);//从0 开始长度为2 的字符 fw.write(content);//字符串 fw.write(content, 0 , 4);//从0 开始长度为4的字符串 } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw != null) { //必须close或者flush才能写入文件 fw.close(); } } catch (IOException e) { e.printStackTrace(); } } } }