Я постараюсь произнести это без какой-либо путаницы, но я запутался, так что это будет сложно.
Я создал программу шифрования «один раз» (увеличивать или уменьшать символы). Прямо сейчас, когда я вхожу случайный файл из той же папки, что и моя программа, для шифрования или дешифрования, программа делает этои вновь зашифрованный / расшифрованный файл отправляется в файл «Зашифрованный» или «Дешифрованный» без проблем.
Моя проблема заключается в том, что когда я пытаюсь извлечь из недавно зашифрованного файла и зашифровать егочтобы вернуть его в нормальное состояние (или наоборот), я ничего не получаю.Данные, которые я отправил в одну из этих папок, исчезли, и я не знаю, почему.Извините, если это не имеет никакого смысла.
Код:
import java.util.Scanner;
import java.io.*;
public class Encryptor
{
public static void main (String[] args)
{
Scanner in = new Scanner(System.in);
PrintWriter fileOutE;//Content going to "Encrypted" file
PrintWriter fileOutD;//Content goint to "Decrypted" file
String fileName = "";//Name of file user wants to encrypt/decrypt
String encryptOrDecrypt = "";//eOrc stands for "Encrypt or Decrypt"
String line = "";
char ch = ' ';
try
{
//Ask user for file to be encrypted or decrypted
System.out.println("Please enter the name of the file: ");
fileName = in.nextLine();
//Ask user if they want to encrypt or decrypt file
System.out.println("Would you like to encrypt or decrypt?: ");
encryptOrDecrypt = in.nextLine();
File f = new File (fileName);
Scanner fileIn = new Scanner (f);
fileOutE = new PrintWriter ("Encrypted.txt");//File for encrypted text
fileOutD = new PrintWriter ("Decrypted.txt");//File for decrypted text
if(encryptOrDecrypt.equalsIgnoreCase("encrypt"))
{
while(fileIn.hasNextLine())
{
line = fileIn.nextLine();
for(int i = 0; i < line.length(); i++)
{
ch = line.charAt(i);
if(Character.isLetter(ch))
{
ch++;
}
fileOutE.print(ch);
}
}
fileOutE.close();
System.out.println("File has been sent to Encrypted.txt");
}
if(encryptOrDecrypt.equalsIgnoreCase("decrypt"))
{
while(fileIn.hasNextLine())
{
line = fileIn.nextLine();
for(int i = 0; i < line.length(); i++)
{
ch = line.charAt(i);
if(Character.isLetter(ch))
{
ch--;
}
fileOutD.print(ch);
}
}
fileOutD.close();
System.out.println("File has been sent to Decrypted.txt");
}
}//end try
catch(Exception e)
{
System.out.println("Got an error");
}//end catch
}//end main
}//end class