package Ex5.Firstquestion;
import java.io.*;
/**
* @author 15328
* 1、编写一个Java应用程序,将已存在的扩展名为.txt的文本文件加密后存入另一个文本文件中。
* 按模板要求,将【代码1】~【代码7】替换为Java程序代码。
*/
public class SecretExample
{
public static void main(String a[])
{
File fileone=new File("src\\Ex5\\Firstquestion\\hello.txt");
File filetwo=new File("src\\Ex5\\Firstquestion\\hello.secret");
//char b[]={'a','b','c','d'};
char b[]=new char[100];
try{
FileReader in = new FileReader(fileone);
//创建指向fileone的字符输入流
FileWriter out = new FileWriter(filetwo);
//创建指向fileontwo的字符输出流
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);
//创建指向fileontwo的字符输入流
System.out.println("加密后的文件内容:");
while (n != -1) {
String str = new String(b, 0, n);
System.out.println("dfjakfjd" + str);
n = in.read(b);
}
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');
}
String str = new String(b, 0, n);
System.out.println(str);
}
in.close(); // in关闭
}
catch(IOException e)
{
System.out.println(e);
}
}
}
2
package Ex5.Secondquestion;
import java.io.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Objects;
import java.util.Scanner;
import java.nio.file.Files;
/**
* @author 15328
* 2、编程完成下列功能:
* 1)首先建立两个文件myfiel.txt和myfile2.txt。
* 2)从标准设备中输入多名学生信息,如学号,姓名,专业,班级,家庭住址等,
* 待输入"bye"时结束,将输入内容保存在myfile1.txt文件中。
* 3)再将myfile1.txt文件中内容拷贝到myfile2.txt。
*/
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Student [] students = new Student[50];
String [] pool = new String[250];
String name;
String idOfStu;
String major;
String classOfStu;
String address;
int i = 0;
int j = 0;
while(true){
name = input.next();
if(Objects.equals(name, "bye")){
break;
}
else{
pool[j++] = name;
}
idOfStu = input.next();
if(Objects.equals(idOfStu, "bye")){
break;
}
else{
pool[j++] = idOfStu;
}
major = input.next();
if(Objects.equals(major, "bye")){
break;
}
else{
pool[j++] = major;
}
classOfStu = input.next();
if(Objects.equals(classOfStu, "bye")){
break;
}
else{
pool[j++] = classOfStu;
}
address = input.next();
if(Objects.equals(address, "bye")){
break;
}
else{
pool[j++] = address;
}
students[i++] = new Student(name,idOfStu,major,classOfStu,address);
}
File fileone = new File("src/Ex5/Secondquestion/myfile.txt");
File filetwo = new File("src/Ex5/Secondquestion/myfile2.txt");
try {
FileWriter out = new FileWriter(fileone);
for(int x = 0; x < j; x++){
out.write(pool[x],0,pool[x].length());
}
out.close();
FileOutputStream out2 = new FileOutputStream(filetwo);
Path path = Paths.get(fileone.getPath());
Files.copy(path,out2);
out2.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
class Student{
private String name;
private String idOfStu;
private String major;
private String classOfStu;
private String address;
public Student(String name, String idOfStu, String major, String classOfStu, String address) {
this.name = name;
this.idOfStu = idOfStu;
this.major = major;
this.classOfStu = classOfStu;
this.address = address;
}
}