IO流--FileInputStream--FileOutputStream
阿新 • • 發佈:2021-07-14
位元組輸入流:
package com.kaka.testio; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; public class IODemo1 { //Scanner scanner=new Scanner(System.in);//System.in鍵盤錄入,需要鋪管道 public static void main(String[] args) { //1.在檔案和程式之間鋪設管道 try { //1.在檔案和程式之間鋪設管道 //以下兩句等價於:FileInputStream file=new FileInputStream("E:\\2021.txt"); File file=new File("E:\\2021.txt"); FileInputStream f=new FileInputStream(file);//可檢視建構函式 //2.”開水龍頭“ int ch=f.read();//read()方法只能讀一個位元組 System.out.println("ch="+(char)ch); //3."關水龍頭" f.close(); } catch (Exception e) { System.out.println("檔案找不到!"); } } }
位元組輸出流:
package com.kaka.testio; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.nio.charset.StandardCharsets; public class IODemo2 { public static void main(String[] args) { try { //1.建立“水廠” String data="Hello world!"; //2.鋪設程式到碟符檔案的管道 FileOutputStream os=new FileOutputStream("E:\\2021.txt");//會覆蓋檔案內容,如果是FileOutputStream("E:\\2021.txt",true)則在結尾處寫入 //3.開啟水龍頭 byte[] tempBytes=data.getBytes(); os.write(tempBytes); //4.關閉管道 os.close(); } catch (Exception e) { e.printStackTrace(); } } }
io流實現複製:
package com.kaka.testio; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class IODemo3 { public static void main(String[] args) { try { FileInputStream file=new FileInputStream("E:\\2021.txt"); byte[] tempBytes = new byte[100]; file.read(tempBytes); file.close(); FileOutputStream os=new FileOutputStream("E:\\2020.txt"); os.write(tempBytes); os.close(); } catch (Exception e) { e.printStackTrace(); } } }
測速度:
long startTime=System.currentTimeMillis();//開始時間
FileInputStream file=new FileInputStream("E:\\2021.txt");
byte[] tempBytes = new byte[100];
file.read(tempBytes);
file.close();
FileOutputStream os=new FileOutputStream("E:\\2020.txt");
os.write(tempBytes);
os.close();
long endTime=System.currentTimeMillis();//結束時間
System.out.println("共耗時"+(endTime-startTime)+"毫秒");