分别使用字节流和字符流完成以下程序:
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(); } } } }
原文地址:https://www.cnblogs.com/Gaohy/p/8900738.html
时间: 2024-10-10 05:04:44