Java对文件内容有读写两种操作。分为字符流和字节流两中。读文件内容可用java.util下的Scanner类。 具体代码如下:
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();
}
}
}