文本文件 java_简单的用java实现读/写文本文件的示例
簡單的用java實現讀/寫文本文件的示例
更新時間:2008年07月26日 13:09:26 ? 作者:
同時也展示了如果從輸入流中讀出來內容寫入輸出流中(僅限文本流)
三個例子可以獨立存在,所以根據需要只看其中一個就行了。
/*
*?簡單的讀/寫文本文件的示例
*?這里包含了三個例子,即
*?1.?將文件讀入到內存(這里是StringBuffer)的例子
*?2.?將內容中的文本寫到文件
*?3.?將一個文件的內容讀出來寫入另一個文件中
*????同時也展示了如果從輸入流中讀出來內容寫入輸出流中(僅限文本流)
*?三個例子可以獨立存在,所以根據需要只看其中一個就行了。
*/
import?java.io.BufferedReader;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.io.OutputStream;
import?java.io.OutputStreamWriter;
import?java.io.PrintStream;
import?java.io.PrintWriter;
public?final?class?AccessTextFile?{
/**
*?1.?演示將流中的文本讀入一個?StringBuffer?中
*?@throws?IOException
*/
public?void?readToBuffer(StringBuffer?buffer,?InputStream?is)
throws?IOException?{
String?line;????????//?用來保存每行讀取的內容
BufferedReader?reader?=?new?BufferedReader(new?InputStreamReader(is));
line?=?reader.readLine();???????//?讀取第一行
while?(line?!=?null)?{??????????//?如果?line?為空說明讀完了
buffer.append(line);????????//?將讀到的內容添加到?buffer?中
buffer.append("\n");????????//?添加換行符
line?=?reader.readLine();???//?讀取下一行
}
}
/**
*?2.?演示將?StringBuffer?中的內容讀出到流中
*/
public?void?writeFromBuffer(StringBuffer?buffer,?OutputStream?os)?{
//?用?PrintStream?可以方便的把內容輸出到輸出流中
//?其對象的用法和?System.out?一樣
//?(System.out?本身就是?PrintStream?對象)
PrintStream?ps?=?new?PrintStream(os);
ps.print(buffer.toString());
}
/**
*?3*.?從輸入流中拷貝內容到輸入流中
*?@throws?IOException
*/
public?void?copyStream(InputStream?is,?OutputStream?os)?throws?IOException?{
//?這個讀過過程可以參閱?readToBuffer?中的注釋
String?line;
BufferedReader?reader?=?new?BufferedReader(new?InputStreamReader(is));
PrintWriter?writer?=?new?PrintWriter(new?OutputStreamWriter(os));
line?=?reader.readLine();
while?(line?!=?null)?{
writer.println(line);
line?=?reader.readLine();
}
writer.flush();?????//?最后確定要把輸出流中的東西都寫出去了
//?這里不關閉?writer?是因為?os?是從外面傳進來的
//?既然不是從這里打開的,也就不從這里關閉
//?如果關閉的?writer,封裝在里面的?os?也就被關了
}
/**
*?3.?調用?copyStream(InputStream,?OutputStream)?方法拷貝文本文件
*/
public?void?copyTextFile(String?inFilename,?String?outFilename)
throws?IOException?{
//?先根據輸入/輸出文件生成相應的輸入/輸出流
InputStream?is?=?new?FileInputStream(inFilename);
OutputStream?os?=?new?FileOutputStream(outFilename);
copyStream(is,?os);?????//?用?copyStream?拷貝內容
is.close();?//?is?是在這里打開的,所以需要關閉
os.close();?//?os?是在這里打開的,所以需要關閉
}
public?static?void?main(String[]?args)?throws?IOException?{
int?sw?=?1;?????//?三種測試的選擇開關
AccessTextFile?test?=?new?AccessTextFile();
switch?(sw)?{
case?1:?//?測試讀
{
InputStream?is?=?new?FileInputStream("E:\\test.txt");
StringBuffer?buffer?=?new?StringBuffer();
test.readToBuffer(buffer,?is);
System.out.println(buffer);?????//?將讀到?buffer?中的內容寫出來
is.close();
break;
}
case?2:?//?測試寫
{
StringBuffer?buffer?=?new?StringBuffer("Only?a?test\n");
test.writeFromBuffer(buffer,?System.out);
break;
}
case?3:?//?測試拷貝
{
test.copyTextFile("E:\\test.txt",?"E:\\r.txt");
}
break;
}
}
}
相關文章
hibernate validator提供了一套比較完善、便捷的驗證實現方式。下面小編給大家介紹下springboot使用hibernate validator校驗方式,感興趣的朋友一起看看吧2018-01-01
這篇文章主要介紹了Eclipse最新版使用過程中遇到的問題總結的相關資料,本文通過圖文并茂的形式給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
這篇文章主要給大家介紹了關于如何利用Java實現復制Excel工作表功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-12-12
這篇文章主要介紹了java讀取properties配置文件的方法,涉及java操作properties配置文件的相關技巧,需要的朋友可以參考下2015-05-05
這篇文章主要介紹了你應該知道的這些Mybatis-Plus使用技巧(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
這篇文章主要介紹了Java編程中JDialog窗體的用法及實例,描述了其特征,具有一定參考價值,需要的朋友可以了解下。2017-09-09
這篇文章主要給大家介紹了關于Spring Boot中@ConditionalOnProperty的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-12-12
這篇文章主要介紹了Redis緩存,泛型集合與json字符串的相互轉換實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
這篇文章主要介紹了解決mybatis返回boolean值時數據庫返回null的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
這篇文章主要介紹了Mybatis-Plus BaseMapper的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
最新評論
總結
以上是生活随笔為你收集整理的文本文件 java_简单的用java实现读/写文本文件的示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java判断一个对象是否为空_Java中
- 下一篇: autowired java_Java