一、
实验目的和要求
1、掌握使用输入输出流进行文件的读写操作。
二、
实验内容
1、按程序模板要求,将注释处替换为Java程序代码。实现文件加密。
2、按程序模板要求,将注释处替换为Java程序代码。给文件的内容添加行号.
3、串行化对象Student到本地文件,并在下一次运行程序时用来初始化。(选做)
三、
实验环境
硬件:
1.
PC机
软件:
1.
Windows XP Professional 中文版
2.
JDK 1.7
3.
JCreator 4.5 英文版
一、
附录:
内容一代码:
import java.io.*;
public class SecretExample{
public static void main(String arg[]){
File fileOne=new File("hello.txt"),
fileTwo=new File("hello.secret");
char b[]=new char[100];
try{
FileReader in=new FileReader(fileOne); //
创建指向
fileOne
的字符输入流
FileWriter out=new FileWriter(fileTwo); //
创建指向
fileTwo
字符输出流
int n=-1;
while((n=in.read(b))!=-1){
for(int i=0;i<n;i++){
b[i]=(char)(b[i]^'a');
}
out.write(b,0,n); // out
将数组
b
的前
n
单元写到文件
}
out.close(); // out
关闭
in=new FileReader(fileTwo); //
创建指向
fileTwo
的字符输入流
System.out.println("
加密后的文件内容
:");
while((n=in.read(b))!=-1){
String str=new String(b,0,n);
System.out.println(str);
}
in=new FileReader(fileTwo);
System.out.println("
解密后的文件内容
:");
while((n=in.read(b))!=-1){
for(int i=0;i<n;i++){
b[i]=(char)(b[i]^'a');
}
System.out.printf(new String(b,0,n));
}
in.close(); // in
关闭
}
catch(IOException e){
System.out.println(e);
}
}
}
内容二代码:
import java.io.*;
public class ReadExample{
public static void main(String args[ ]){
File file=new File("c:/1000","hello.txt");
File tempFile=new File("temp.text");
try{
FileReader inOne=new FileReader(file); //
创建指向文件
file
的输入流
BufferedReader inTwo=new BufferedReader(inOne); //
创建指向
inOne file
的输入流
FileWriter tofile=new FileWriter(tempFile); //
创建指向文件
tempFile
的输出流
BufferedWriter out=new BufferedWriter(tofile); //
创建指向
tofile
的输出流
String s=null;
int i=0;
s=inTwo.readLine(); // inTwo
读取一行
while(s!=null)
{
i++;
out.write(i+" "+s);
out.newLine();
s=inTwo.readLine(); // inTwo
读取一行
}
inOne.close();
inTwo.close();
out.flush();
out.close();
tofile.close();
inOne=new FileReader(tempFile); //
创建指向文件
tempFile
的输入流
inTwo=new BufferedReader(inOne); //
创建指向
inOne file
的输入流
tofile=new FileWriter(file); //
创建指向文件
file
的输出流
out=new BufferedWriter(tofile); //
创建指向
tofile
的输出流
while((s=inTwo.readLine())!=null) // inTwo
读取一行
{
out.write(s);
out.newLine();
}
inOne.close();
inTwo.close();
out.flush();
out.close();
tofile.close();
inOne=new FileReader(file); //
创建指向文件
file
的输入流
inTwo=new BufferedReader(inOne); //
创建指向
inOne file
的输入流
while((s=inTwo.readLine())!=null) // inTwo
读取一行
{
System.out.println(s);
}
inOne.close();
inTwo.close();
tempFile.delete();
}
catch(IOException e)
{
System.out.println(e);
}
}
}
转载于:https://blog.51cto.com/macwe/236410