简单的用java实现读/写文本文件的示例_Java教程-查字典教程网
简单的用java实现读/写文本文件的示例
简单的用java实现读/写文本文件的示例
发布时间:2016-12-28 来源:查字典编辑
摘要:/**简单的读/写文本文件的示例*这里包含了三个例子,即*1.将文件读入到内存(这里是StringBuffer)的例子*2.将内容中的文本写...

/*

*简单的读/写文本文件的示例

*这里包含了三个例子,即

*1.将文件读入到内存(这里是StringBuffer)的例子

*2.将内容中的文本写到文件

*3.将一个文件的内容读出来写入另一个文件中

*同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流)

*三个例子可以独立存在,所以根据需要只看其中一个就行了。

*/

importjava.io.BufferedReader;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.OutputStream;

importjava.io.OutputStreamWriter;

importjava.io.PrintStream;

importjava.io.PrintWriter;

publicfinalclassAccessTextFile{

/**

*1.演示将流中的文本读入一个StringBuffer中

*@throwsIOException

*/

publicvoidreadToBuffer(StringBufferbuffer,InputStreamis)

throwsIOException{

Stringline;//用来保存每行读取的内容

BufferedReaderreader=newBufferedReader(newInputStreamReader(is));

line=reader.readLine();//读取第一行

while(line!=null){//如果line为空说明读完了

buffer.append(line);//将读到的内容添加到buffer中

buffer.append("n");//添加换行符

line=reader.readLine();//读取下一行

}

}

/**

*2.演示将StringBuffer中的内容读出到流中

*/

publicvoidwriteFromBuffer(StringBufferbuffer,OutputStreamos){

//用PrintStream可以方便的把内容输出到输出流中

//其对象的用法和System.out一样

//(System.out本身就是PrintStream对象)

PrintStreamps=newPrintStream(os);

ps.print(buffer.toString());

}

/**

*3*.从输入流中拷贝内容到输入流中

*@throwsIOException

*/

publicvoidcopyStream(InputStreamis,OutputStreamos)throwsIOException{

//这个读过过程可以参阅readToBuffer中的注释

Stringline;

BufferedReaderreader=newBufferedReader(newInputStreamReader(is));

PrintWriterwriter=newPrintWriter(newOutputStreamWriter(os));

line=reader.readLine();

while(line!=null){

writer.println(line);

line=reader.readLine();

}

writer.flush();//最后确定要把输出流中的东西都写出去了

//这里不关闭writer是因为os是从外面传进来的

//既然不是从这里打开的,也就不从这里关闭

//如果关闭的writer,封装在里面的os也就被关了

}

/**

*3.调用copyStream(InputStream,OutputStream)方法拷贝文本文件

*/

publicvoidcopyTextFile(StringinFilename,StringoutFilename)

throwsIOException{

//先根据输入/输出文件生成相应的输入/输出流

InputStreamis=newFileInputStream(inFilename);

OutputStreamos=newFileOutputStream(outFilename);

copyStream(is,os);//用copyStream拷贝内容

is.close();//is是在这里打开的,所以需要关闭

os.close();//os是在这里打开的,所以需要关闭

}

publicstaticvoidmain(String[]args)throwsIOException{

intsw=1;//三种测试的选择开关

AccessTextFiletest=newAccessTextFile();

switch(sw){

case1://测试读

{

InputStreamis=newFileInputStream("E:test.txt");

StringBufferbuffer=newStringBuffer();

test.readToBuffer(buffer,is);

System.out.println(buffer);//将读到buffer中的内容写出来

is.close();

break;

}

case2://测试写

{

StringBufferbuffer=newStringBuffer("Onlyatestn");

test.writeFromBuffer(buffer,System.out);

break;

}

case3://测试拷贝

{

test.copyTextFile("E:test.txt","E:r.txt");

}

break;

}

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类