实验五 输入输出流
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五输入输出流
一、实验目的
1.掌握文件的使用
2.掌握字节I/O流、字符类I/O流、缓冲流、数据流等常用流的使用。
3.熟悉对象流、RandomAccessFile类的使用。
二、实验内容
1.利用各种常用IO流的处理方法,编写Java应用程序。
三、实验步骤与要求
第1题文件加密
编写一个Java应用程序,将已存在的扩展名为.txt的文本文件加密后存入另一个文本文件中。
package four;
import java.io.*;
public class file {
public static void main(String args[])
{
File readFile =new File("Student.txt"),
writeFile =new File("Hello.txt");
String s="欢迎来到北京 welcome";
char b[]=s.toCharArray();
try{
FileWriter out=new FileWriter(readFile,true);
out.write(b);
out.close();
FileWriter tofile=new FileWriter ("hello.txt");
for(int i=0;i { b[i]=(char)(b[i]^'w'); } String secret=new String(b); System.out.println("原文:"+s); System.out.println("密文:"+secret); tofile.write(secret); tofile.close(); FileReader inOne=new FileReader("Hello.txt"); int t=0; System.out.println("存入后:"); while((t=inOne.read(b,0,2))!=-1) { String str=new String(b,0,2); System.out.println(str); } inOne.close(); } catch (IOException e){ System.out.println(e); } } } 第2题读写基本类型数据 编写一个Java应用程序,将若干基本数据写入到一个文件,然后再按顺序读出。 package five; /*第2题读写基本类型数据 编写一个Java应用程序,将若干基本数据写入到一个文件,然后再按顺序读出。*/ import java.io.*; public class read { public static void main(String args[]) { try{ FileOutputStream os=new FileOutputStream("data.txt"); DataOutputStream outdata=new DataOutputStream(os); outdata.writeInt(99); outdata.writeShort(23); outdata.writeDouble(23.34535342132); outdata.writeFloat(3.123221312f); outdata.writeLong(2132445); outdata.writeChar('O'); outdata.writeByte(2); outdata.writeBoolean(true); } catch(IOException e){ System.out.println( "int:" );} try{ FileInputStream ns=new FileInputStream("data.txt"); DataInputStream intdata=new DataInputStream(ns); System.out.println( "int:" +intdata.readInt()); System.out.println( "short:" +intdata.readShort()); System.out.println( "double:" +intdata.readDouble()); System.out.println( "float:" +intdata.readFloat()); System.out.println( "long:" +intdata.readLong()); System.out.println( "char:" +intdata.readChar()); System.out.println( "byte:" +intdata.readByte()); System.out.println( "boolean:" +intdata.readBoolean()); } catch(IOException e){} } } 第3题字符输入/输出流以及缓冲流的用法 编写一个Java应用程序,给已存在的文本文件添加行号。要求该文本文件事先用文本编辑完毕,保存在C:\code目录中,命名为Hello.txt. 实验提示:可将BufferedWriter流和FileWriter流连接在一起,然后使用BufferedWriter流将数据写到目的地。BufferedReader对象调用readLine()方法可读取文件的一行,BufferedWriter对象调用newLine()方法可向文件写入回行 /package six; import java.io.*; public class code { public static void main(String []args){ File readFile =new File ("Student.txt"), writeFile=new File("C:\\code\\hello.txt"); if(!writeFile.getParentFile().exists()) { writeFile.mkdir(); } //char b[]="欢迎来到北京welcome\nwelcome".toCharArray(); try{//FileWriter t=new FileWriter(readFile,true); //t.write(b); // t.close();