1. 程式人生 > >實驗05部落格園總結

實驗05部落格園總結

什麼是流:

一連串有順序的資料系列可以看成是一個流,java將檔案看成流

Java通過流物件存取檔案

流的分類:

1.輸入流和輸出流:資料“流入”程式的稱為“輸入”。

2.位元組流和字元流:指存取資料的最小單位。

3.節點流(Node Stream)和處理流(Processing Stream):節點流直接連線到資料來源,處理流是對一個已存在的流的連線和封裝,通過所封裝的流的功能呼叫實現增強的資料讀寫功能,它並不直接連到資料來源。

流的基類:

1.位元組流的兩個基類InputStream和OutputStream:以位元組為單位,是所有位元組輸入與輸出流的父類;

2.字元流的兩個基類Reader和Writer:以字元(2個位元組)為單位。

1、編寫一個程式,指定一個資料夾,能自動計算出其總容量

package 課堂實驗05;

import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;
public class filecount {
    static long size=0;
    private static ArrayList<String> filelist=new ArrayList<String>();
    private static filecount s;
    private static
Scanner scan; public static void main(String[] args) { s = new filecount(); System.out.println("請輸入一個資料夾\n"); scan = new Scanner(System.in); String filePath = scan.nextLine(); filecount.getFiles(filePath); System.out.println("資料夾總容量為:"+size); }
static void getFiles(String filePath) { int i = 0; int sum = 0; File f=new File(filePath); File[] fs=f.listFiles(); for(File file:fs) { if(file.isDirectory()) { getFiles(file.getAbsolutePath()); filelist.add(file.getAbsolutePath()); } else { System.out.println(fs[i].getAbsolutePath()); sum = file.getAbsolutePath().length(); size += file.getAbsolutePath().length(); System.out.println("本檔案大小為"+sum); i++; } } } }

結果截圖如圖:

2、編寫一個檔案加解密程式,通過命令列完成加解密工作

package 課堂實驗05;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class eencryption {
    public static void encryption() throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D://TTT1.txt"));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D://TTT2.txt"));       
        int b;
        while((b = bis.read()) != -1) {
            bos.write(b ^ 123);
        }   
        bis.close();
        bos.close();
    }
    public static void main(String[] args) throws IOException {
        encryption();
    }
}

3、編寫一個檔案分割工具,能把一個大檔案分割成多個小的檔案。並且能再次把他們合併起來得到完整的檔案。