今天天津卓眾教育java學(xué)院小編為大家介紹java filewriter的用法及FileReader的用法,希望對大家有幫助,下面就隨小編一起看看java filewriter的用法及FileReader的用法吧。
FileWriter 文件輸出流是用于將數(shù)據(jù)寫入 File 或 FileDescriptor 的輸出流。文件是否可用或能否可以被創(chuàng)建取決于基礎(chǔ)平臺。特別是某些平臺一次只允許一個FileOutputStream(或其他文件寫入對象)打開文件進(jìn)行寫入。在這種情況下,如果所涉及的文件已經(jīng)打開,則此類中的構(gòu)造方法將失敗。
FileOutputStream 用于寫入諸如圖像數(shù)據(jù)之類的原始字節(jié)的流。要寫入字符流,請考慮使用 FileWriter。
FileWriter共有五個構(gòu)造方法
FileWriter(File file) 根據(jù)給定的 File 對象構(gòu)造一個 FileWriter 對象。
FileWriter(File file, boolean append) 根據(jù)給定的 File 對象構(gòu)造一個 FileWriter 對象。
FileWriter(String fileName) 根據(jù)給定的文件名構(gòu)造一個 FileWriter 對象。
FileWriter(String fileName, boolean append) 根據(jù)給定的文件名以及指示是否附加寫入數(shù)據(jù)的 boolean 值來構(gòu)造 FileWriter 對象。
FileWriter(FileDescriptor fd) 構(gòu)造與某個文件描述符相關(guān)聯(lián)的 FileWriter 對象。
其中方法可以分為三組,入?yún)ile的為一組,入?yún)tring 的為一組,這兩組方法基本相似。
帶File 的構(gòu)造方法是直接傳入文件來構(gòu)造FileWriter對象,而帶String 的構(gòu)造方法,則必須先通過new File(String path) 來構(gòu)造File 文件,再來構(gòu)造FileWriter對象。
再看 File file 入?yún)⒌膬蓚€方法
FileWriter(File file) 和 FileWriter(File file, boolean append) 的區(qū)別在于后面多了一個boolean append 參數(shù).
append 如果為 true,則將字節(jié)寫入文件末尾處,而不是寫入文件開始處。
append 相當(dāng)于指定了寫入的方式,是覆蓋寫還是追加寫。
append 為true時,追加寫,相當(dāng)于Linux 里面的 >> 操作符;
package cn.itcast.demo3;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Java_2 {
public static void main(String args[]) {
File f1=new File("D://a.txt");
/
File f1=new File("D://a.txt");
FileWriter fw = new FileWriter(f1, true);
fw.write("haha");
//進(jìn)行刷新,將字符寫到目的地中。
fw.flush();
//關(guān)閉流,關(guān)閉資源。在關(guān)閉前會調(diào)用flush方法 刷新緩沖區(qū)。關(guān)閉后在寫的話,會拋IOException
fw.close();
}
}
關(guān)于FileWriter的的異常處理。
package cn.itcast.demo3;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Java_2 {
public static void main(String args[]){
File f1=new File("D://a.txt");
FileWriter fw = null;
try {
fw = new FileWriter(f1, false);
fw.write("hello" + "world!");
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fw != null){
try {
fw.flush();
fw.close();
} catch (IOException e) {
throw new RuntimeException("關(guān)閉失??!");
}
}
}
}
}
2、java FileReader的用法
示例代碼一,文件讀取的第一種方式,示例代碼二,文件讀取的第二種方式,第二種是常用的,必須會。
package cn.itcast.demo3;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Java_2 {
public static void main(String args[]){
File f1=new File("D://a.txt");
FileReader fr = null;
try {
fr = new FileReader(f1);
int ch = 0;
//記住即可,read方法如果沒有可讀取的了,則返回-1
//所以就是一直讀取,并將讀取的內(nèi)容存入ch,一直到結(jié)尾
while((ch=fr.read()) != -1){
System.out.print((char)ch + " ");
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fr != null){
try {
fr.close();
} catch (IOException e) {
throw new RuntimeException("讀取失??!");
}
}
}
}
}
package cn.itcast.demo3;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Java_2 {
public static void main(String args[]){
File f1=new File("D://a.txt");
FileReader fr = null;
try {
fr = new FileReader(f1);
char[] buf=new char[1024];
//read(char [])返回讀到的字符個數(shù)
int num=0;
//讀取文件并把它存入buf中,用num返回讀到字符的個數(shù),一直讀到結(jié)尾
while((num=fr.read(buf)) != -1){
//new String(字符串,開始位置,結(jié)尾位置)
//字符數(shù)組里仍有空白沒有讀入的位置,所以不要了
System.out.print((new String(buf,0,num)));
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fr != null){
try {
fr.close();
} catch (IOException e) {
throw new RuntimeException("讀取失?。?quot;);
}
}
}
}
}
以上就是天津卓眾教育java學(xué)院小編介紹的“java filewriter的用法及FileReader的用法”的內(nèi)容,希望對大家有幫助,更多精彩內(nèi)容請繼續(xù)關(guān)注天津卓眾教育java學(xué)院官網(wǎng)。