1. 程式人生 > >java基礎知識--IO流示例

java基礎知識--IO流示例

本人的GitHub:戳我一下

示例(一)——File類的基本用法

/**
 * File類的基本用法
 */
package com.yifanjia.one;
import java.io.*;
public class IO1 {
    public static void main(String[] args) {
//      //得到檔案物件
//      File f =new File("I:\\11.txt");
//      //得到檔案的路徑
//      System.out.println("檔案路徑"+f.getAbsolutePath());
//      //得到檔案的大小
//      System.out.println("檔案大小"+f.length()+"個位元組");
//建立檔案 // File f = new File("I:\\12.txt"); // if(!f.exists()) { // //可以建立 // try { // f.createNewFile(); // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } // else { // System.out.println("有檔案,不能建立");
//建立資料夾 // File f =new File("d:\\ff"); // if(f.isDirectory()) { // System.out.println("資料夾存在"); // } // else { // f.mkdirs(); // } //列出一個資料夾下面的所有檔案 File f = new File("I:\\專案"); if(f.isDirectory()) { File[] lists = f.listFiles(); for
(File t : lists) { System.out.println("檔名 "+t.getName()); } } } }

示例(二)——圖片拷貝

/**
 * 圖片拷貝
 */
package com.yifanjia.one;
import java.io.*;
public class IO5 {
    public static void main(String[] args) {
        //思路:先把圖片讀入到記憶體,再把圖片寫入到檔案
        //因為是二進位制未見,只能用位元組流完成
        File f1 = new File("I:\\java\\TankGame\\src\\bomb_1.gif");
        //if(!f1.exists()) System.out.println("dsasdas");
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream(f1);
            fos = new FileOutputStream("D:\\11.gif");
            byte[] buf = new byte[1024];
            int n = 0;
            while((n = fis.read(buf)) != -1) {
                //輸出到指定檔案
                fos.write(buf);
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                fis.close();
                fos.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

示例(三)——緩衝字元流案例

/**
 * 演示緩衝字元流案例
 */
package com.yifanjia.one;
import java.io.*;
public class IO4 {

    public static void main(String[] args) {
        BufferedReader br = null;
        BufferedWriter bw = null;
        FileReader fr = null;
        FileWriter fw = null;
        // TODO Auto-generated method stub
        try {
            //先構建一個FileReader
            fr = new FileReader(new File("I:\\11.txt"));
            fw = new FileWriter(new File("I:\\21.txt"));
            br = new BufferedReader(fr);
            bw = new BufferedWriter(fw);
            String s = "";
            while((s = br.readLine()) != null) {
                //輸出到檔案
                bw.write(s+"\r\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
            // TODO: handle exception
        } finally {
            try {
                br.close();
                bw.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}