1.使用FileInputStream讀取文件
package peixun;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ReadByteStream {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("text.txt");
byte input[] = new byte[21];
fis.read(input);//讀取字節(jié)流文件
String inputString = new String(input);//將字節(jié)流文件轉(zhuǎn)換成字符串
System.out.println(inputString);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
2.使用FileOutputStream寫入文件
package peixun;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteByteStrean {
public static void main(String[] args) throws FileNotFoundException {
try {
FileOutputStream fos = new FileOutputStream("textw.txt");//流的打開
String outString = "write 123456寫出數(shù)據(jù)";
byte[] output = outString.getBytes();//流的寫入次酌,將文本文件獲取為字節(jié)數(shù)組
fos.write(output);//流的讀取
fos.close();//關(guān)閉流操作
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.使用輸入、輸出流實現(xiàn)文件的拷貝
package peixun;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class CopyByByteStream {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("123.png");//讀取文件數(shù)據(jù)
FileOutputStream fos = new FileOutputStream("123_new.png");
byte [] input = new byte[50];
while (fis.read(input) != -1) {
fos.write(input);//將數(shù)組寫出到新的文件
}
fis.close();
fos.close();
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}
}
4.使用緩沖的字節(jié)流讀寫數(shù)據(jù):
package peixun;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class ReadByBufferedByteStream {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("1.mp4");
BufferedInputStream bis = new BufferedInputStream(fis,100000);//設(shè)置緩沖區(qū)大小,一般大于數(shù)組的大小。
FileOutputStream fos = new FileOutputStream("2.mp4");
BufferedOutputStream bos = new BufferedOutputStream(fos,100000);
byte [] input = new byte[100];//大型的文件對應(yīng)的數(shù)組大一點,比較小的文件數(shù)組小一點宙攻。
int count = 0;
long before = System.currentTimeMillis();
while (bis.read(input) != -1) {
bos.write(input);
count++;
}
bis.close();
fis.close();
fos.close();
bos.close();
System.out.println("count:"+count);
System.out.println(System.currentTimeMillis()-before);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}