import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
//inputstream与outputstream都可以操作文本文件、视频文件、音频等。(这是抽象文件不能实例化)
//包括fileinputstream与fileoutputstream 、bufferedoutputstream与bufferedinputstream
//reader与writer只可以操作文本文件(这是抽象文件,不能实例化)
//filereader与filewriter、bufferedreader与bufferedwriter
public class testinputoutput {
//这里在开始就把异常全部抛出,比较方便,
public static void main(String[] args) throws Exception {
File file1=new File("a.txt");//这里是相对路径
File file2=new File("b.txt");
InputStream inputStream=new FileInputStream(file1);
OutputStream outputStream=new FileOutputStream(file2);
byte []b=new byte[1024];
int len;
while((len=inputStream.read(b))!=-1){
outputStream.write(b, 0, len);
}
outputStream.close();//先关输入流
inputStream.close();//在关输出流
}
}
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++ -->
package testio;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
//bufferedinputstream、bufferedoutputstream与inputstream、outputstream的操作基本一样
//主要是速度快
import java.io.FileOutputStream;
public class bufferedinputoutputTeat {
public static void main(String[] args) {
File file1=null;
File file2=null;
try {
file1=new File("c:\\video\\a.wmv");//由于“\"是转义符号,所以要用双斜杠
file2=new File("d:/test/b.wmv");//或者用”/"来表示
FileInputStream fileInputStream=new FileInputStream(file1);
FileOutputStream fileOutputStream=new FileOutputStream(file2);
BufferedInputStream bufferedInputStream=new BufferedInputStream(fileInputStream);
BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(fileOutputStream);
byte []b=new byte[1024];
int len;
while((len=bufferedInputStream.read(b))!=-1){
bufferedOutputStream.write(b, 0, len);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
package testio;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
/*
* writer与reader的练习
* 这是字符类,主要操作文本本件,不能操作其他的文件,可以解决中文乱码的问题
*/
public class testreaderwriter {
public static void main(String[] args) {
// TODO Auto-generated method stub
String string1="first.txt";
String string2="second.txt";
File file1=null;
File file2=null;
Reader reader=null;
Writer writer=null;
try {
file1=new File(string1);
file2=new File(string2);
reader=new FileReader(file1);
writer=new FileWriter(file2);
char [] c=new char[20];//由于是字符流,所以数组应该用字符数组
int len;
while((len=reader.read(c))!=-1){
writer.write(c, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(writer!=null){
try {
writer.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
if(reader!=null){
try {
reader.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
}