Java操做文件內容

Java對文件內容有讀寫兩種操做。分爲字符流和字節流兩中。讀文件內容可用java.util下的Scanner類。 具體代碼以下:java

package com.ass.io;

import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/**
 * 對文件進行讀取,運用java.util中的Sacnner類進行操做,裏面有現成的方法,比直接操做IO要簡單點;
 * 在實例化對象時可選擇字節流或者是字符流進行實例化,字節流操做字節效率高,字符流操做字符效率高; 
 * 對文件進行寫入操做只能用IO進行操做。
 */
public class FileOpt {

	public static void main(String args[]) throws IOException {

		// 文件寫入

		// 字節流
		BufferedOutputStream bus = null;
		try {
			bus = new BufferedOutputStream(new FileOutputStream(new File("E://test.txt")));
			bus.write("test1".getBytes());
			bus.write("\r\n".getBytes());
			bus.write("test2".getBytes());
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} finally {
			bus.close();
		}

		// 字符流
		BufferedWriter buw=null;
		try {
			buw = new BufferedWriter(new FileWriter(new File("E://test1.txt")));
			buw.write("test3");
			buw.newLine();
			buw.write("test4");
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} finally {
			buw.close();
		}

		// 文件讀取
		Scanner sc = null;
		// 使用字節流進行實例化
		try {
			sc = new Scanner(new FileInputStream(new File("E://test.txt")));
			while (sc.hasNext()) {
				System.out.println(sc.nextLine());
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			sc.close();
		}

		// 使用字符流進行實例化
		try {
			sc = new Scanner(new FileReader(new File("E://test1.txt")));
			while (sc.hasNext()) {
				System.out.println(sc.nextLine());
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			sc.close();
		}
	}

}
相關文章
相關標籤/搜索