字元流程式碼檔案的寫入與讀出
阿新 • • 發佈:2021-01-27
技術標籤:Java 基礎知識
package Com.bigDataWork_IO;
import org.junit.Test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReadWriteTest {
@Test
public void Test() {
// 如果你的專案中 只有一個專案,但是建立了好多包,此資料夾建立直接在你總專案名稱上面建立即可,不然檔案會找不到File file = new File(“zq.txt”); // 相較於當前module
// 自動生成
FileReader fr = null;
try {
fr = new FileReader(file);
int data;
while ((data =fr.read()) !=-1){
System.out.print((char) data);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
方式一:
// int data = fr.read();
// while (data != -1){
// System.out.print((char)data);
// data = fr.read();
//}
}
}
升級版本:
/**
* 字元流的升級版
* // read 操作升級:使用read的過載方法。
* @throws IOException
*
* 按下Ctrl+Alt+t 進行補貨異常。
*/
@Test public void testFileRead1() throws IOException { // 按下Ctrl+Alt+t 進行補貨異常。 FileReader fee = null; try { //1、建立類的例項 File file = new File("zq.txt"); //2、file read 類的例項 fee = new FileReader(file); //3、讀入操作 char[] cbuf = new char[5]; int len; while ((len=fee.read(cbuf))!=-1){ for (int i = 0; i<len; i++) { System.out.print(cbuf[i]); } } } catch (IOException e) { e.printStackTrace(); } finally { //4、資源關閉 fee.close(); } } /** * 從 記憶體中寫出資料到硬碟的檔案裡 * 按下Ctrl+Alt+t 進行補貨異常。 */ /** 說明:輸出操作 對用的file 檔案可以不存在,不存在則會自動建立。。。 * 如果存在在原來基礎末尾進行新增, * false :在原有檔案進行繼續新增。 * true:不會對原有檔案進行覆蓋,在原有檔案進行新增 * */
@Test
public void testFileWrite() throws IOException {
FileWriter fw = null;// false or true
try {
// 1、提供file 類的物件
File file = new File(“kk.txt”);
// 2、提供 fileWrite的物件,用於資料的寫出。
fw = new FileWriter(file,false);
// 3、寫出的操作
fw.write(“Hadoop”);
fw.write(“you are 666”);
} catch (IOException e) {
e.printStackTrace();
} finally {
// 4、關閉流操作
fw.close();
}
}
/**
* 暫時不改Try -catch -finany
* 可以複製圖片檔案的編寫。。
* @throws IOException
* 從檔案讀入並且寫出的程式碼
* 可以使用
*/
@Test
public void testFileReaderWrite() throws IOException {
//1、建立File類的物件,指明讀入和寫出的檔案
File srcfile = new File("zq.txt");
File destfile = new File("zq1.txt");
//2、建立輸入和輸出流的物件
FileReader fileR = new FileReader(srcfile);
FileWriter fileW = new FileWriter(destfile);
//3、資料的讀入和寫入操作
char[] chf = new char[5];
int len;
while ((len=fileR.read(chf)) !=-1){
// 每次寫出len 個字元
fileW.write(chf,0,len);
}
//4、流的關閉
fileW.close();
fileR.close();
}
}