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;
}
}
}
}