第一套:字符流读取写入方案
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();
}
}