关于java io流操作文件探讨
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java io流操作文件探讨相关的知识,希望对你有一定的参考价值。
1.任务描述
2.读取一个字符
3.读取整个文件
4.复制文件
5.复制大文件
6.利用字符流解决乱码问题
一.任务描述
大家都知道程序是程序的运行是离不开内存的,但是很多东西并不在程序当中,而程序也需要操作它们。所以就需要一个东西与内存外的资源打交道,我们就把这个东西称为io流。io流分为输出流和输入流,输出流是将内存中的东西输出到内存之外,输入流是将内存之外的东西读取到内存中。一旦有了io流之后,与内存之外的资源打交道就十分方便了。为什么这么说,其实总体上就只需要三步操作,第一步,定位数据源,第二步,建立管道,第三步,操作管道。对于第一步来说,如果是操作硬盘上面的资源
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
*
* @author user
*
*/
public class MyFIleStream {
public static void main(String[] args) {
// 定位数据源
File file = new File("d:\\liu.txt");
File file1 =new File("d:\\liu1.txt");
// 建立字节流管道
try {
FileInputStream fis = new FileInputStream(file);
FileOutputStream ops=new FileOutputStream(file1);
// 操作管道
int length = fis.available();
for (int i = 0; i < length; i++) {
System.out.println((char)fis.read());
ops.write(fis.read());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
/**
* 关于读取文件的操作
* 1.最好少用FileReader字符流读取文件,因为他是采用默认的系统字符编码进行解码
* 解决方法:
* 可以采用输入字符流InputStreamReader代替FileReader;他可以指定字符编码.
* 2.怎样高效遍历整个文本文件
* 可以使用缓冲流BufferedReader流读取,每次读取一行.
* @author user
*
*/
public class FileOprate2 {
public static void main(String[] args) {
File f=new File("d:\\liu.txt");
File f1=new File("d:\\liu1.txt");
char[] chs=new char[1024];
try {
InputStreamReader insr=new InputStreamReader(new FileInputStream(f),"utf-8");
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream(f1),"utf-8");
PrintWriter pw=new PrintWriter(osw);
BufferedReader br=new BufferedReader(insr);
while(br.ready()){
//System.out.println(br.readLine());
pw.write(br.readLine());
}
pw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上是关于关于java io流操作文件探讨的主要内容,如果未能解决你的问题,请参考以下文章