1.字符输出流写数据的其他方法
void write(char[] cbuf)
写入字符数组。
abstract void write(char[] cbuf, int off, int len)写入字符数组的某一部分。
void write(String str)
写入字符串。
void write(String str, int off, int len)
写入字符串的某一部分。
package demo05;
import java.io.FileWriter;
import java.io.IOException;
/*
字符输出流写数据的其他方法
void write(char[] cbuf)
写入字符数组。
abstract void write(char[] cbuf, int off, int len)写入字符数组的某一部分。
void write(String str)
写入字符串。
void write(String str, int off, int len)
写入字符串的某一部分。
*/
public class Demo03Writer {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("D:\\IdeaProjects\\新建文件夹\\k.txt");
//void write(char[] cbuf) 写入字符数组。
char[] chars= {'a','b','c','d','e'};
fw.write(chars);//abcde
//void write(char[] cbuf, int off, int len)写入字符数组的某一部分。
fw.write(chars,1,3); //abcdebcd
//void write(String str) 写入字符串
fw.write("传智播客");//abcdebcd传智播客
// void write(String str, int off, int len)
fw.write("黑马程序员",2,3);//abcdebcd传智播客程序员
fw.close();
}
}
2.续写和换行
注意如果不是这样续写的构造方法是在不停覆盖原文件 而且这样的话执行两遍程序就是20个HelloWorld 而且这样的话执行两遍程序就是20个HelloWorld,而且就算是原来的txt文件里有内容也不会覆盖 是这样 所以叫续写 比如下图中原来的文件内容还在 还加了20遍HelloWorld
续写和换行 续写:追加写:使用两个参数的构造方法 FileWriter(String fileName, boolean append) FileWriter(File file, boolean append) 参数: String fileName File file:写入数据的目的地 boolean append :续写开关 true:不会创建新的文件覆盖可以续写 false:会创建新的文件覆盖原文件 换行 window:、\r\n Linux:/n mac:/r
package demo05;
import java.io.FileWriter;
import java.io.IOException;
/*
续写和换行
续写:追加写:使用两个参数的构造方法
FileWriter(String fileName, boolean append)
FileWriter(File file, boolean append)
参数:
String fileName File file:写入数据的目的地
boolean append :续写开关 true:不会创建新的文件覆盖可以续写 false:会创建新的文件覆盖原文件
换行 window:、\r\n
Linux:/n
mac:/r
*/
public class Demo04Writer {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("D:\\IdeaProjects\\新建文件夹\\k.txt",true);
for (int i = 0; i < 10; i++) {
fw.write("HelloWorld"+i+"\r\n");//注意如果不是这样的构造方法是在不停覆盖原文件 而且这样的话执行两遍程序就是20个HelloWorld
//而且这样的话执行两遍程序就是20个HelloWorld,而且就算是原来的txt文件里有内容也不会覆盖 是这样 所以叫续写
}
fw.close();
}
}