1.实现图片加密功能
2.拷贝文件(在控制台录入文件的路径,将文件拷贝到当前项目下)
3.实现录入数据拷贝到文件的功能(将键盘录入的数据拷贝到当前项目下的te.txt文件中,录入数据遇到quit时退出)
package pra_16;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class J_33 {
public static void main(String[] args) throws IOException {
//1.实现图片加密功能
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("5.jpg"));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("5_09.jpg"));
int b;
while((b=bis.read())!=-1){
bos.write(b^123); //密钥,需要解密时,仅需要输入输出对象改变一下即可
}
System.out.println("收到");
bis.close();
bos.close();
//2.拷贝文件(在控制台录入文件的路径,将文件拷贝到当前项目下)
File file=getF();
BufferedInputStream bis2=new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos2=new BufferedOutputStream(new FileOutputStream(file.getName()));
int b2;
while((b2=bis2.read())!=-1){
bos2.write(b2);
}
bis2.close();
bos2.close();
System.out.println("2.拷贝成功~");
//3.实现录入数据拷贝到文件的功能
Scanner sc=new Scanner(System.in);
FileOutputStream fos3=new FileOutputStream("te.txt");
while(true){
String line2=sc.nextLine();
if("quit".equals(line2)){
break;
}
fos3.write(line2.getBytes()); //字符串写出必须转换成字节数组
fos3.write("\r\n".getBytes());
}
fos3.close();
}
public static File getF(){
Scanner sc=new Scanner(System.in);
while(true){
String line=sc.nextLine();
File file=new File(line);
if(!file.exists()){
System.out.println("录入文件路径错误,请重新录入:");
}else if(file.isDirectory()){
System.out.println("录入的是个文件夹路径:请重新录入");
}else{
return file;
}
}
}
}