java 读文件的几种方法
public static void main(String[] args) {
/**
* 使用字符缓冲输入流和字符缓冲输出流实现文件的复制
* 1.打开文件
* 2.设置字符集
* 3.进行读写操作
* 4.关闭流
*/
try {
long begin=System.currentTimeMillis();
//打开源文件
FileInputStream fis=new FileInputStream("pwSrc.txt");
//设置字符集
InputStreamReader isr=new InputStreamReader(fis, "UTF-8");
//从源文件读入数据
BufferedReader br=new BufferedReader(isr);
//打开目标文件
FileOutputStream fos=new FileOutputStream("pwDest.txt");
//设置字符集
OutputStreamWriter osw=new OutputStreamWriter(fos, "UTF-8");
//写入数据到目标文件
PrintWriter pw=new PrintWriter(osw, true);
int size=0;
char[] buffer=new char[10240];
while((size=br.read(buffer, 0, buffer.length))!=-1){
pw.write(buffer, 0, size);
}
br.close();
pw.close();
long end=System.currentTimeMillis();
System.out.println("使用字符缓冲输入流实现文件的复制完毕!耗时:"+(end-begin)+"毫秒");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
/**
* 逐个字符的读取
*/
FileInputStream fis=new FileInputStream("pw.txt");
InputStreamReader isr=new InputStreamReader(fis, "UTF-8");
BufferedReader br=new BufferedReader(isr);
int size=0;
while((size=br.read())!=-1){
char content=(char)size;
System.out.println(content);
}
/**
* 整行读取
*/
FileInputStream fis1=new FileInputStream("pw.txt");
InputStreamReader isr1=new InputStreamReader(fis1, "UTF-8");
BufferedReader br1=new BufferedReader(isr1);
String isNull=null;
/**
* public String readLine()
* 该方法的返回值如果为null,则说明已经读到文件的末尾了
*/
while((isNull=br1.readLine())!=null){
System.out.println(isNull);
}
br.close();
br1.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
//打开文件
FileOutputStream fos=new FileOutputStream("pw.txt");
//设置编码集
OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");
//将字符输出流包装为字符缓冲输出流
BufferedWriter bw=new BufferedWriter(osw);
bw.write("BW测试文字");
bw.append("BWBWBWBWBW");
bw.flush();
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public class BufferRead {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("d:ss.txt");
char[] buf = new char[1024];
int num;
while ((num = fr.read(buf)) != -1) {
System.out.print(new String(buf, 0, num));
}
fr.close();
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
/**
* @author muyunlong
* @version 1.0
* @Date: 2017/11/5 下午10:24
*/
public class BufferRead {
public void bufferdReader() {
File file = new File("D:\\tempTest\\xml\\5008.xml");
try (BufferedReader buffReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"))) {
String str = "";
while ((str = buffReader.readLine()) != null) {
System.out.println(str);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}