1明确源和目的。
2处理的文本是否是纯文本的数据。
3明确数据所在的设备。
4明确是否需要额外的功能?
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import org.junit.Test;
/*1明确源和目的
2处理的文本是否是纯文本的数据
3明确数据所在的设备
4明确是否需要额外的功能?*/
public class fileCopy {
@Test
public void test1() {
FileInputStream fin =null;
FileOutputStream fout=null;
try {
//明确源和目的
//处理的文本是否是纯文本的数据
//明确数据所在的设备
//明确是否需要额外的功能?
fin = new FileInputStream("a.txt");
fout = new FileOutputStream("a.txt");
byte b[]=new byte[32];
int len=0;
while((len=fin.read())!=-1){
fout.write(b, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fin!=null){
try {
fin.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fout!=null){
try {
fout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
@Test//复制一个文本文件
public void test2(){
//FileReader fr=null;
//FileWriter fw=null;
BufferedReader bfr=null;
BufferedWriter bfw=null;
try {
//fr=new FileReader("b.txt");
//fw=new FileWriter("c.txt");
bfr=new BufferedReader(new FileReader("b.txt"));
bfw=new BufferedWriter(new FileWriter("c.txt"));
/*char cbuf[]=new char[32];
int len=0;*/
String str="";
/*while((len=bfr.read(cbuf))!=-1){
fw.write(cbuf, 0, len);
}*/
while((str=bfr.readLine())!=null){
bfw.write(str);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(bfr!=null){
try {
bfr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(bfw!=null){
try {
bfw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
@Test//复制一个图像文件
public void test3(){
BufferedInputStream bfi=null;
BufferedOutputStream bfo=null;
try {
bfi=new BufferedInputStream(new FileInputStream("1.jpg"));
bfo=new BufferedOutputStream(new FileOutputStream("2.jpg"));
byte b[]=new byte[128];
int len=0;
while((len=bfi.read(b))!=-1){
bfo.write(b,0,len);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(bfi!=null){
try {
bfi.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(bfo!=null){
try {
bfo.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import org.junit.Test;
/*1明确源和目的
2处理的文本是否是纯文本的数据
3明确数据所在的设备
4明确是否需要额外的功能?*/
public class Systemin {
// 读取键盘录入,存储到一个文件中
@Test
public void test1() throws IOException {
BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bfw=new BufferedWriter(new FileWriter("c.txt"));
String str="";
while(( str=bfr.readLine() ) !=null){
System.out.println(str);
bfw.write(str);
bfw.newLine();
}
bfr.close();
bfw.close();
}
@Test//读取一个文本文件,显示到显示屏上
public void test2() throws IOException{
BufferedReader bufr=new BufferedReader(new FileReader("c.txt"));
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));
String str="";
while((str=bufr.readLine())!=null){
bufw.write(str);
bufw.newLine();
}
bufr.close();
bufw.close();
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import org.junit.Test;
public class trans {
/**
* 假定输出时要为字符数据指定编码表。转换流中的参数需要字节流,因此用FileOutputStream。
* 转换流:OutputStreamWriter,
* @throws IOException
*
*/
@Test//读取一个文本文件,将文本按照指定的编码表UTF-8写入到另一个文件中。
public void test1() throws IOException{
BufferedReader br=new BufferedReader(new FileReader("b.txt"));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c.txt"),"utf-8"));
String str="";
while((str=br.readLine())!=null){
bw.write(str);
bw.newLine();
}
br.close();
bw.close();
}
}