Java基础学习-IO流
生活随笔
收集整理的這篇文章主要介紹了
Java基础学习-IO流
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package IObasics; import java.io.FileWriter;
import java.io.IOException;/*IO流* 通過數據流、序列化和文件系統提供系統輸入和輸出。 * 文件上傳,復制文件,下載文件* 輸出流:* java.io 類 FileWriter構造方法詳細信息 :public FileWriter(String fileName)throws IOException根據給定的文件名構造一個 FileWriter 對象。 參數:fileName - 一個字符串,表示與系統有關的文件名。 拋出: IOException - 如果指定文件存在,但它是一個目錄,而不是一個常規文件;或者該文件不存在,但無法創建它;抑或因為其他某些原因而無法打開它public FileWriter(String fileName,boolean append)throws IOException根據給定的文件名以及指示是否附加寫入數據的 boolean 值來構造 FileWriter 對象。 參數:fileName - 一個字符串,表示與系統有關的文件名。append - 一個 boolean 值,如果為 true,則將數據寫入文件末尾處,而不是寫入文件開始處。 拋出: IOException - 如果指定文件存在,但它是一個目錄,而不是一個常規文件;或者該文件不存在,但無法創建它;抑或因為其他某些原因而無法打開它* ** 方法:從類 java.io.OutputStreamWriter 繼承的方法 void close() 關閉此流,但要先刷新它。 void flush() 刷新該流的緩沖。 String getEncoding() 返回此流使用的字符編碼的名稱。 void write(char[] cbuf, int off, int len) 寫入字符數組的某一部分。 void write(int c) 寫入單個字符。 void write(String str, int off, int len) 寫入字符串的某一部分。 從類 java.io.Writer 繼承的方法 void write(char[] cbuf) 寫入字符數組。 void write(int c) 寫入單個字符。 append, append, append, write, write 從類 java.lang.Object 繼承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait *輸入流:***//*需求: 在文件中寫數據寫數據-輸出流
*/
public class IO_basics_filerwriter {public static void main(String[] args) throws IOException {FileWriter fw=new FileWriter("d:\\test.txt");/*輸出流對象做了那些事情:1.調用系統資源創建了一個文件2.創建輸出流對象3.把輸出流對象指向文件*//*操作數據的方法* close() 刷新緩沖區 流對象還可以使用* flush() 先刷新緩沖區,然后通知系統釋放資源 流對象不可以使用* * * * */fw.write("IO流練習");fw.write("java");fw.flush();/*刷新內存緩沖區*/fw.close();/*釋放資源*/}
}
package IObasics;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList;/*java.io * 字符緩沖流類* BufferedWriter:對字符得高效輸出* BufferReader:對字符得高效輸入* * * */ public class IO_basics_bufferwriter {public static void main(String[] args) throws IOException {/* BufferedWriter bw=new BufferedWriter(new FileWriter("fw.txt"));bw.write("hello");BufferedReader br=new BufferedReader(new FileReader("fr.txt"));int ch;while((ch=br.read())!=-1){System.out.println((char)ch);}bw.close();br.close();*//*copy_one("fr.txt","fw.txt");*//*newline();*//*readline();*//*copy_two("fr.txt","fw.txt");*/collection_to_txt("fr.txt");}/*文本復制方法*/public static void copy_one(String filename_one,String filename_two) throws IOException {BufferedReader br=new BufferedReader(new FileReader(filename_one));BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two));int ch;while((ch=br.read())!=-1) {bw.write(ch);}bw.close();br.close();}/*字符緩沖流的特殊功能* newline():newline 是相當于換行符 windows的換行符是 \r\n mac\n linux\r*/public static void newline() throws IOException {BufferedWriter bw=new BufferedWriter(new FileWriter("fw.txt"));for (int i = 0; i <10; i++) {bw.write("hello wolrd"+i);bw.newLine();}bw.close();}/*readline():redaline 一次讀取一行 但是不讀取換行符*/public static void readline() throws IOException {BufferedReader br=new BufferedReader(new FileReader("fw.txt"));String line;while((line=br.readLine())!=null) {System.out.println(line);}br.close();}/*利用特殊功能復制文本文件*/public static void copy_two(String filename_one,String filename_two) throws IOException {BufferedReader br=new BufferedReader(new FileReader(filename_one));BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two));String line;while((line=br.readLine())!=null) {bw.write(line);bw.newLine();}bw.close();br.close();}/*把集合中的數據寫到文本文件*/public static void collection_to_txt(String filename_two) throws IOException {ArrayList<String> ar=new ArrayList<String>();for (int i = 0; i < 10; i++) {ar.add("a");}BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two));for (int i = 0; i < ar.size(); i++) {String arr=String.valueOf(ar.get(i));bw.write(arr);}bw.close();} }
package IObasics;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList;/*java.io * 字符緩沖流類* BufferedWriter:對字符得高效輸出* BufferReader:對字符得高效輸入* * * */ public class IO_basics_bufferwriter {public static void main(String[] args) throws IOException {/* BufferedWriter bw=new BufferedWriter(new FileWriter("fw.txt"));bw.write("hello");BufferedReader br=new BufferedReader(new FileReader("fr.txt"));int ch;while((ch=br.read())!=-1){System.out.println((char)ch);}bw.close();br.close();*//*copy_one("fr.txt","fw.txt");*//*newline();*//*readline();*//*copy_two("fr.txt","fw.txt");*/collection_to_txt("fr.txt");}/*文本復制方法*/public static void copy_one(String filename_one,String filename_two) throws IOException {BufferedReader br=new BufferedReader(new FileReader(filename_one));BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two));int ch;while((ch=br.read())!=-1) {bw.write(ch);}bw.close();br.close();}/*字符緩沖流的特殊功能* newline():newline 是相當于換行符 windows的換行符是 \r\n mac\n linux\r*/public static void newline() throws IOException {BufferedWriter bw=new BufferedWriter(new FileWriter("fw.txt"));for (int i = 0; i <10; i++) {bw.write("hello wolrd"+i);bw.newLine();}bw.close();}/*readline():redaline 一次讀取一行 但是不讀取換行符*/public static void readline() throws IOException {BufferedReader br=new BufferedReader(new FileReader("fw.txt"));String line;while((line=br.readLine())!=null) {System.out.println(line);}br.close();}/*利用特殊功能復制文本文件*/public static void copy_two(String filename_one,String filename_two) throws IOException {BufferedReader br=new BufferedReader(new FileReader(filename_one));BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two));String line;while((line=br.readLine())!=null) {bw.write(line);bw.newLine();}bw.close();br.close();}/*把集合中的數據寫到文本文件*/public static void collection_to_txt(String filename_two) throws IOException {ArrayList<String> ar=new ArrayList<String>();for (int i = 0; i < 10; i++) {ar.add("a");}BufferedWriter bw=new BufferedWriter(new FileWriter(filename_two));for (int i = 0; i < ar.size(); i++) {String arr=String.valueOf(ar.get(i));bw.write(arr);}bw.close();} }
?
轉載于:https://www.cnblogs.com/bai-boy/p/10300971.html
總結
以上是生活随笔為你收集整理的Java基础学习-IO流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单的QQ音乐爬取
- 下一篇: java美元兑换,(Java实现) 美元