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();
}
}
}
}
}