第一套:字符流读取写入方案
FileReader:字符流读取文本
package cn.lianxi2; import java.io.FileReader; import java.io.IOException; public class Class1 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub FileReader reader = new FileReader("D:/S2226.txt"); char[] chars = new char[1024]; int data; while((data=reader.read(chars))!=-1){ String s = new String(chars,0,data); System.out.println(s); } reader.close(); } }FileWriter:字符流写入文本
package cn.lianxi2; import java.io.FileWriter; import java.io.IOException; public class Class2 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub FileWriter writer = new FileWriter("D:/S2226.txt"); String words = "789"; writer.write(words); writer.close(); } }第二套:<BufferedReader、BufferedWriter>一般和FileReader和FileWriter结合使用
BufferedReader:读取文本
package cn.lianxi3; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.Reader; public class Class1 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Reader read = new FileReader("D:/S2226.txt"); BufferedReader br = new BufferedReader(read); String line; while((line=br.readLine())!=null){ System.out.println(line); } read.close(); } }BufferedWriter:写入文本
package cn.lianxi3; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; public class Class2 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Writer write = new FileWriter("D:/S2226.txt"); BufferedWriter bw = new BufferedWriter(write); String s = "123"; bw.write(s); bw.close(); write.close(); } }第三套:字节流读取写入方案
FileInputStream :字节流方式读取文本文件
FileInputStream fis=new FileInputStream("E:\\读取文件.txt"); byte[]bytes=new byte[1024]; int data; while((data=fis.read(bytes))!=-1) { String str=new String(bytes,0,data); System.out.println(str); } fis.close(); }FileOutputStream:字节流写入硬盘
FileOutputStream fos=new FileOutputStream("E:\\1.txt"); String word="高考是人生的分水岭"; byte[] bytes = word.getBytes(); fos.write(bytes); fos.close(); System.out.println("写入成功!"); }第四套:可以读取二进制(img图片等 )
DataInputStream:将本地的img加载到内存中
FileInputStream fis=new FileInputStream("E:\\5.txt"); FileOutputStream fos=new FileOutputStream("D:\\55.txt"); DataInputStream dis=new DataInputStream(fis); DataOutputStream dos=null; byte[]bytes=new byte[1024]; int data; while((data=dis.read(bytes))!=-1) { dos=new DataOutputStream(fos); dos.write(bytes); } dos.close(); dis.close(); fos.close(); fis.close(); System.out.println("copy succes!!!"); }DataOutputStream:将内存中的二进制数据写入到硬盘上的某个文件中
DataOutputStream out=null; DataInputStream dis=null; try { //创建输入流对象 FileInputStream fis=new FileInputStream("c:\\范宁.jpg"); dis=new DataInputStream(fis); //创建输出流对象 FileOutputStream outFile=new FileOutputStream("c:\\范宁小美女33.jpg"); out=new DataOutputStream(outFile); int temp=dis.read(); while (temp!=-1) { out.write(temp); temp=dis.read(); } System.out.println("复制成功"); fis.close(); outFile.close(); } catch (Exception e) { System.out.println("文件不存在"); }finally{ try { if (dis!=null) { dis.close(); } if (out!=null) { out.close(); } } catch (Exception e2) { e2.printStackTrace(); } }