生活随笔
收集整理的這篇文章主要介紹了
第1章 IO流概述及FileWriter类使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.1 IO流概述及分類
IO流用來處理設備之間的數據傳輸
Java對數據的操作是通過流的方式
Java用于操作流的類都在IO包中
流按流向分為兩種:輸入流,輸出流
1.2 FileWriter類使用
A:打開幫助文檔
B:點擊顯示,找到索引,看到輸入框
C:你要學習什么內容,你就在框框里面輸入什么內容
舉例:Random
D:看包
java.lang包下的類在使用的時候是不需要導包的
E:看類的描述
Random類是用于生成隨機數的類
F:看構造方法
Random():無參構造方法
Random r = new Random();
G:看成員方法
public int nextInt(int n):產生的是一個[0,n)范圍內的隨機數
調用方法:
看返回值類型:人家返回什么類型,你就用什么類型接收
看方法名:名字不要寫錯了
看形式參數:人家要幾個參數,你就給幾個,人家要什么數據類型的,你就給什么數據類型的
int number = r.nextInt(100);
1.2.1 FileWriter向文件中寫數據
A:FileWriter向文件中寫數據操作步驟:
a:使用FileWriter流關聯文件
b:利用FileWriter的寫方法寫數據
c:利用FileWriter的刷新方法將數據從內存刷到硬盤上
d:利用FileWriter的關流方法將釋放占用的系統底層資源
B:FileWriter方法:
構造方法
FileWriter(String fileName) 傳入一個文件的路徑
成員方法
void write(String str) 向文件中寫str
void flush() 將內存中的數據刷新到文件中
void close() 關流釋放系統底層資源
1.2.1.1 案例代碼一:
package com.itheima_01;
import java.io.FileWriter;
import java.io.IOException;/** 需求:往文件中寫數據* 寫數據--輸出流--FileWriter** FileWriter:* FileWriter(String fileName):傳遞一個文件名稱** 輸出流寫數據的步驟:* A:創建輸出流對象* B:調用輸出流對象的寫數據的方法* C:釋放資源*/
public class FileWriterDemo {
public static void main(String[] args) throws IOException {
//創建輸出流對象
FileWriter fw = new FileWriter("d:\\a.txt");
/** 創建輸出流對象做了哪些事情:* A:調用系統資源創建了一個文件* B:創建輸出流對象* C:把輸出流對象指向文件*/
//調用輸出流對象的寫數據的方法
//寫一個字符串數據
fw.write("IO流你好");
//數據沒有直接寫到文件,其實是寫到了內存緩沖區
fw.flush();
//釋放資源
//通知系統釋放和該文件相關的資源
fw.close();
//while(true) {}
}
}
1.2.2 FileWriter注意事項
1.2.2.1 案例代碼二:
package com.itheima_01;import java.io.FileWriter;
import java.io.IOException;/** 輸出流寫數據的步驟:* A:創建輸出流對象* B:調用輸出流對象的寫數據方法,并刷新緩沖區* C:釋放資源** 相對路徑:相對當前項目而言的,在項目的根目錄下(a.txt)* 絕對路徑:以盤符開始的路徑(d:\\a.txt)** close()和flush()方法的區別:* flush():刷新緩沖區。流對象還可以繼續使用。* close():先刷新緩沖區,然后通知系統釋放資源。流對象不可以再被使用了。*/
public class FileWriterDemo2 {
public static void main(String[] args) throws IOException {
//創建輸出流對象
//FileWriter fw = new FileWriter("d:\\a.txt");
FileWriter fw = new FileWriter("a.txt");
//調用輸出流對象的寫數據方法,并刷新緩沖區
fw.write("helloworld");
fw.flush();
fw.write("java");
fw.flush();
//釋放資源
fw.close();
//Stream closed
//fw.write("javaee");
//fw.flush();
}
}
1.2.3 FileWriter其它寫方法
void write(String str):寫一個字符串數據
void write(String str,int index,int len):寫一個字符串中的一部分數據
void write(int ch):寫一個字符數據,這里寫int類型的好處是既可以寫char類型的數據,也可以寫char對應的int類型的值。'a',97
void write(char[] chs):寫一個字符數組數據
void write(char[] chs,int index,int len):寫一個字符數組的一部分數據
1.2.3.1 案例代碼三:
package com.itheima_01;
import java.io.FileWriter;
import java.io.IOException;/** void write(String str):寫一個字符串數據* void write(String str,int index,int len):寫一個字符串中的一部分數據* void write(int ch):寫一個字符數據,這里寫int類型的好處是既可以寫char類型的數據,也可以寫char對應的int類型的值。'a',97* void write(char[] chs):寫一個字符數組數據* void write(char[] chs,int index,int len):寫一個字符數組的一部分數據*/
public class FileWriterDemo3 {
public static void main(String[] args) throws IOException {
//創建輸出流對象
FileWriter fw = new FileWriter("b.txt");
//void write(String str):寫一個字符串數據
//fw.write("abcde");
//void write(String str,int index,int len):寫一個字符串中的一部分數據
//fw.write("abcde",0,5);
//fw.write("abcde",1,3);
//void write(int ch):寫一個字符數據,這里寫int類型的好處是既可以寫char類型的數據,也可以寫char對應的int類型的值。'a',97
//fw.write('a');
//fw.write(97);
//void write(char[] chs):寫一個字符數組數據
char[] chs = {'a','b','c','d','e'};
//fw.write(chs);
//void write(char[] chs,int index,int len):寫一個字符數組的一部分數據
//fw.write(chs,0,5);
fw.write(chs,2,3);
//釋放資源
fw.close();
}
}
1.2.4 FileWriter寫入換行以及向文本末尾追加
1.2.4.1 案例代碼四:
package com.itheima_01;import java.io.FileWriter;
import java.io.IOException;/** 如何實現數據的換行?* \n可以實現換行,但是windows系統自帶的記事本打開并沒有換行,這是為什么呢?因為windows識別的換行不是\n,而是\r\n* windows:\r\n* linux:\n* mac:\r* 如何實現數據的追加寫入?* FileWriter(String fileName, boolean append)*/
public class FileWriterDemo4 {
public static void main(String[] args) throws IOException {
//創建輸出流對象
//FileWriter fw = new FileWriter("c.txt");
FileWriter fw = new FileWriter("c.txt",true); //表示追加寫入,默認是false
for(int x=0; x<10; x++) {
fw.write("hello"+x);
fw.write("\r\n");
}
//釋放資源
fw.close();
}
}
轉載于:https://blog.51cto.com/13517854/2090201
總結
以上是生活随笔為你收集整理的第1章 IO流概述及FileWriter类使用的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。