1.覆盖写入
package javaDemoOne; import java.io.*; import java.util.Scanner; /** * java读写文件 创 写 关 */ public class Demo01 { public static void main(String[] args) throws IOException { //1.创建一个FileWriter文件,如果不存在则自动创建 FileWriter fr =new FileWriter("a.txt"); //2.将字符串写入文件 System.out.println("www"); Scanner scanner = new Scanner(System.in); String string = scanner.nextLine(); fr.write(string); //3.关闭close流 fr.close(); } }
2.追加写入
package javaDemoOne; import java.io.*; import java.util.Scanner; /** * java读写文件 创 写 关 * windows /r/n 换行 * MacOs /n * Linux /n */ public class Demo01 { public static void main(String[] args) throws IOException { //1.创建一个FileWriter文件,如果不存在则自动创建 //FileWriter(String 文件路径名,boolean true)第二个参数如果是true那么就会追加写入 FileWriter fr =new FileWriter("a.txt",true); //2.将字符串写入文件 System.out.print("写入数据:"); Scanner scanner = new Scanner(System.in); String string = scanner.nextLine(); fr.write(string); //3.关闭close流 fr.close(); } }
3.读取单个字符
package javaDemoOne; import java.io.*; import java.util.Scanner; /** * java读写文件 创 读 关 */ public class Demo01 { public static void main(String[] args) throws IOException { // 1.创建一个FileReader文件 文件名不存在 FileReader fd = new FileReader("a.txt"); // 2.读出文件 System.out.print("读取第一个字:"); int gg = fd.read(); System.out.println(gg); //每次使用就读取下一次 int hh; System.out.print("读取剩余全部:"); while ((hh = fd.read()) != -1) { System.out.print((char)hh+" "); } // 3.关闭close流 fd.close(); } }
4.数组读取
package javaDemoOne; import java.io.*; import java.util.Scanner; /** * java读写文件 创 读 关 */ public class Demo01 { public static void main(String[] args) throws IOException { // 1.创建一个FileReader文件 文件名不存在 FileReader fd = new FileReader("a.txt"); // 2.读出文件 char[] buff = new char[10]; int len = fd.read(buff); System.out.println("读取了有效字符的个数:"+len); String str = new String(buff); System.out.println("读取的所有字符在buff数组内的显示:"+str); len = fd.read(buff); System.out.println("读取了有效字符的个数:"+len); str = new String(buff); System.out.println("读取的所有字符在buff数组内的显示:"+str); //因为数组buff未覆盖所以显示了后面的内容 // 3.关闭close流 fd.close(); } }
5.BuffereWriter写入
package javaDemoOne; import java.io.*; import java.util.Scanner; /** * BuffereReader里面有一个长度为8192的char[]的字符数组缓冲区使用 如果缓冲数组满了就统一写入硬盘中 * 如果关闭流数组美满那么就将剩余的写入硬盘 * */ public class Demo01 { public static void main(String[] args) throws IOException { // 1.创建一个普通的FileWriter文件 文件名不存在 FileWriter fd = new FileWriter("a.txt"); // 2.将FileWriter对象传递给BuffereWriter构造方法 BufferedWriter buf = new BufferedWriter(fd); // 3.写入 buf.write("hello"); buf.newLine();// 换行 buf.write("hello"); // 4.关闭 buf.close(); } }
BuffereReader一样的