实验四 文件与数据流
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 文件与数据流
实验目的:
掌握输入输出流类的层次关系和类中的方法及输入输出流类的编程方法
实验要求:
1从输入或输出流类或子类创建输入或输出流对象.
2利用输入或输出流对象的方法读或写文件。
实验内容:
1。将文件f1.txt的内容加密(加密算法自己设计)后存放到f2.txt中。读出f2.txt文件的内容,并显示解密后的内容。
import java.io.File;
import java.io.FileOutputStream;
import java.security.SecureRandom;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
public class Key
{private String keyName;
public Key(String keyName)
{this.keyName = keyName;}
public void createKey(String keyName) throws Exception // 创建一个可信任的随机数源,DES算法需要
{
SecureRandom sr = new SecureRandom();// 用DES算法创建一个KeyGenerator对象
KeyGenerator kg = KeyGenerator.getInstance("DES");// 初始化此密钥生成器,使其具有确定的密钥长度
kg.init(sr);// 生成密匙
SecretKey key = kg.generateKey();// 获取密钥数据
byte rawKeyData[] = key.getEncoded();// 将获取到密钥数据保存到文件中,待解密时使用
FileOutputStream fo = new FileOutputStream(new File(keyName));
fo.write(rawKeyData);
}
public static void main(String args[])
{try
{new Key("key.txt");}
catch (Exception e)
{e.printStackTrace();}
}
}
2。设文件d1.txt存放了已经排序的若干个实数,并从键盘上输入若干个实数存放到d2.txt中,然后将两个文件中的数据分别读出来,并按大小次序存放到新的文件d3.txt中。