先来实现最简单的写入一句话
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class fileoutstream {
public static void main(String[] args) {
FileOutputStream fos = null;
File file = new File("c:/test.txt");
try {
file.createNewFile();
fos = new FileOutputStream(file);
String name = "zhangcangdddd";
byte[] b = new byte[1024];
b = name.getBytes();
fos.write(b);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.flush();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
java转义字符
关键字: 转义符
转义序列 含义
\n 回车(\ )
\t 水平制表符(\ )
\b 空格(\)
\r 换行(\ )
\f 换页(\)
\' 单引号(\')
\" 双引号(\")
\\ 反斜杠(\\)
注意,这只是java转义字符,跟文本文件中的不一样。
文本文件中换行是 \r\n,空格是\u0000。
那么最简单的写人员信息到txt方法有
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class fileoutstream {
public static void main(String[] args) {
System.out.println("\r");
System.out.println("dfs"+"\b"+"df");
FileOutputStream fos = null;
File file = new File("c:/test.txt");
try {
file.createNewFile();
fos = new FileOutputStream(file);
StringBuffer sb = new StringBuffer();
sb.append("姓名\u0000");
sb.append("年纪\u0000");
sb.append("住址\r\n");
sb.append("张三\u0000");
sb.append("28");
sb.append("\u0000");
sb.append("下罗\r\n");
sb.append("李四\u0000");
sb.append("32");
sb.append("\u0000上罗财大");
byte[] b = new byte[1024];
b = sb.toString().getBytes();
fos.write(b);
// BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
// bw.write(sb.toString());
// bw.flush();
// bw.close(); //使用BufferedWriter写入
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.flush();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}