java实现输入输出流代码分享
1,编写一个程序,读取文件test.txt的内容并在控制台输出。如果源文件不存在,则显示相应的错误信息。
packagesrc;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.IOException;
publicclassTest{
publicstaticvoidmain(String[]args){
Filef=newFile("src\\test.txt");//文件在src名为test.txt中
try{
FileReaderfr=newFileReader(f);//将文件读取到内容中
intm;
while((m=fr.read())!=-){
System.out.print((char)(m));
}
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
2,编写一个程序实现如下功能,从当前目录下的文件fin.txt中读取80个字节(实际读到的字节数可能比80少)并将读来的字节写入当前目录下的文件fout.txt中
packagesrc;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
publicclassTest{
publicstaticvoidmain(String[]args){
Filef=newFile("src\\fin.txt");//src下fin.txt文件
Filef=newFile("src\\fout.txt");//src下fout.txt文件
try{
FileInputStreamfis=newFileInputStream(f);
FileOutputStreamfos=newFileOutputStream(f);
byte[]temp=newbyte[];//定义一个字节数组
fis.read(temp);//读到内存中
fos.write(temp);//写到文件
fis.close();
fos.close();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
3,使用java的输入/输出流技术将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入到另一个文件中。
packagesrc;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassTest{
publicstaticvoidmain(String[]args){
Filef=newFile("src\\fin.txt");//src下fin.txt文件
Filef=newFile("src\\fout.txt");//src下fout.txt文件
try{
FileReaderfr=newFileReader(f);
FileWriterfw=newFileWriter(f);
BufferedReaderbr=newBufferedReader(fr);
BufferedWriterbw=newBufferedWriter(fw);
Stringtemp;
inti=;
while((temp=br.readLine())!=null){
bw.write(i+","+temp);
bw.newLine();//换行
i++;
}
bw.flush();//把缓冲区内容写到文件
br.close();
bw.close();
br.close();
bw.close();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
4,编写一个程序,接收从键盘输入的数据,并把从键盘输入的内容写到input.txt文件中,如果输入"quit",则程序结束。
packagesrc;
importjava.io.File;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Filef=newFile("src\\input.txt");
try{
FileWriterfw=newFileWriter(f);
Scannerscanner=newScanner(System.in);
Stringtemp;
while(!((temp=scanner.nextLine()).equals("quit"))){
fw.write(temp);
}
fw.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
5,编写一个程序实现如下功能,文件fin.txt是无行结构(无换行符)的汉语文件,从fin中读取字符,写入文件fou.txt中,每40个字符一行(最后一行可能少于40个字)
packagesrc;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassTest{
publicstaticvoidmain(String[]args){
Filef=newFile("src\\fin.txt");
Filef=newFile("src\\fout.txt");
try{
FileReaderfr=newFileReader(f);
FileWriterfw=newFileWriter(f);
chartemp[]=newchar[];
intlen;
while((len=fr.read(temp))!=-)
{
if(len==)
fw.write(newString(temp)+"\n");
else
fw.write(temp,,len);
}
fr.close();
fw.close();
}catch(FileNotFoundExceptione){
//TODO自动生成的catch块
e.printStackTrace();
}catch(IOExceptione){
//TODO自动生成的catch块
e.printStackTrace();
}
}
}