1. 程式人生 > >Java學習日記-----IO流 練習

Java學習日記-----IO流 練習

fin OS IT 通用 文件 reader 安全 work 專業


分別使用字節流和字符流完成以下程序:

1. 在指定的路徑下新建一個 .txt 文件 "test.txt",利用程序在文件中寫入如下內容:

"Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司於
1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有
卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於個人PC、數據中心、遊戲控制臺、科學超級
計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球雲計算和移動互聯網的產業
環境下,Java更具備了顯著優勢和廣闊前景。"

2. 利用程序讀取 test.txt 文件的內容, 並在控制臺打印

3. 利用程序復制 test.txt 為 test1.txt

package day041301;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import org.junit.Test; public class HomeWork { // Mr.song @Test public void test2() { // FileOutputStream fos = new FileOutputStream(new File("test.txt")); // BufferedOutputStream bos = new BufferedOutputStream(fos);
try { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("test.txt"))); String c = "Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司於\r\n" + "1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有\r\n" + "卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於個人PC、數據中心、遊戲控制臺、科學超級\r\n" + "計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球雲計算和移動互聯網的產業\r\n" + "環境下,Java更具備了顯著優勢和廣闊前景。"; bos.write(c.getBytes()); bos.flush(); bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // my maked @Test //文件復制。利用字符流 public void test6() { BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader(new FileReader("test.txt")); bw = new BufferedWriter(new FileWriter("test001.txt")); String str; while((str = br.readLine()) != null) { bw.write(str); } }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(bw != null) { try { bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(br != null) { try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } @Test // 用字節流讀取test.txt public void test5() { BufferedInputStream bis = null; try { bis = new BufferedInputStream(new FileInputStream(new File("test.txt"))); byte[] b = new byte[10000];//若此處byte[]數組長度過小,可能會存放不下某些中文字符。 int len; while((len = bis.read(b)) != -1) { String str = new String(b,0,len); System.out.print(str); } }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(bis != null) { try { bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } @Test public void test4() { BufferedReader br = null; try { br = new BufferedReader(new FileReader("test1.txt")); int len; char[] c = new char[40]; while ((len = br.read(c)) != -1) { String str = new String(c, 0, len); System.out.print(str); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } @Test public void test3() {// 字符流 try { BufferedWriter bw = new BufferedWriter(new FileWriter("test1.txt")); String c = "Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司於\r\n" + "1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有\r\n" + "卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於個人PC、數據中心、遊戲控制臺、科學超級\r\n" + "計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球雲計算和移動互聯網的產業\r\n" + "環境下,Java更具備了顯著優勢和廣闊前景。"; bw.write(c); bw.flush(); bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void test1() { FileOutputStream fos = null;// 字節流 try { fos = new FileOutputStream(new File("test.txt")); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } BufferedOutputStream bos = new BufferedOutputStream(fos); String c = "Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司於\r\n" + "1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有\r\n" + "卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於個人PC、數據中心、遊戲控制臺、科學超級\r\n" + "計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球雲計算和移動互聯網的產業\r\n" + "環境下,Java更具備了顯著優勢和廣闊前景。"; try { bos.write(c.getBytes()); bos.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (bos != null) { try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }

Java學習日記-----IO流 練習