1. 程式人生 > >以位元組流接受鍵盤輸入後寫入檔案,並以緩衝位元組流複製檔案

以位元組流接受鍵盤輸入後寫入檔案,並以緩衝位元組流複製檔案

一、程式碼及解釋

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;


public class Main {
    public static int getValidLength
(byte[] bytes){//獲得快取區中實際位元組長 int i = 0; if (null == bytes || 0 == bytes.length) return i ; for (; i < bytes.length; i++) { if (bytes[i] == '\0'||bytes[i] == '\n') break; } return i-1 ; } public static void main(String[] args) throws
IOException { File f1=new File("E:\\mytext.txt");//原始檔 File f2=new File("E:\\mynewtxt.txt");//目標檔案 InputStream is=System.in;//從鍵盤輸入,以位元組流 FileOutputStream os=new FileOutputStream(f1,true);//追加的形式 byte []bt=new byte[1024];//快取位元組陣列 is.read(bt);//讀入陣列 os.write(bt,0
,getValidLength(bt));//寫入時忽略的空的位元組 BufferedReader br=new BufferedReader(new FileReader(f1));//讀原始檔流 BufferedWriter wr=new BufferedWriter(new FileWriter(f2));//寫原始檔流 String s1=null;//快取字串 while((s1=br.readLine())!=null) {//寫 wr.write(s1);//寫 } br.close(); wr.close(); } }

二、結果

這裡寫圖片描述
這裡寫圖片描述