这是我的代码,用来简单地加密文本,但我的老师说,我必须编程一个文件处理。但我不知道如何对此编程,也不知道如何加密和解密导入的文件。请帮帮我!
package caesarchiffre;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Caeser {
public static void main(String[] args) throws IOException {
int key = 6; //Einwegschlüssel für Ver- und Entschlüsselung
String text = "Hallo!";
System.out.println(text);
char[] chars = text.toCharArray(); //Character-Array mit String Methode zum umwandeln in Char
//Verschlüsselung
for(char c :chars) {
c += key;
System.out.print(c);
}
//Entschlüsselung
//for(char c :chars) {
// c -= key;
// System.out.print(c); }
}
}
下面是一些关于文件处理的概念,简单解释一下。请阅读关于他们的现有资源,也!
扫描文件:使用Javascanner
以下是如何实现它的:
import java.util.Scanner;
import java.util.File;
File file = new File(pathname)
Scanner scanner = new Scanner(file)
import java.util.FileWriter;
FileWriter fileWriter = new FileWriter(pathname);
//pathname of file to write to
fileWriter.write("Hello World! This is the first Caesar Cipher of Elias M.");
您可以使用扫描器
和文件写入器
执行任何您想要的操作。但是,在您的情况下,您正在扫描一个文件,可能是要对其中的文本进行编码。因此,您可以执行以下操作:
char[] alphabet = {'a', 'b','c'};//... and so on
char[] shiftedAlphabet = {'r','s','t'};//...and so on
这是一个示例,您可以将每个字母往上移16位:
/*
a--->r
b--->s
c--->t
*/
开始扫描文件:
while (scanner.hasNext()){
/*
while scanner has a next String. That is, your text is not over:
*/
String next = scanner.next(); //the next string in the file
StringBuilder code = new StringBuilder(); //empty for now
for (int i = 0; i < next.length; i++){
char ch = next.charAt(i);
/*
explanation of charAt(index):
Let us say that your word is "caesar".
the loop goes to charAt(0), which is 'c'
then it goes to charAt(1), which is 'a', and so on.
*/
for (int j = 0; j < alphabet.length; j++){
char letter = alphabet[j];
char shiftedEquivalent = alphabetShifted[j]
if (ch == letter){
code.append(shiftedEquivalent);
}
}
}
fileWriter.write(code); //write your first word into the file.
//This loops over and over until the text file has no more text.
}
请仔细查看上面的for循环。使用我们的理论文件:
--扫描仪去“凯撒”
-for
循环选择“c”
希望这篇文章能帮到你。“希望这有帮助”--但这是禁忌。
我正在尝试加入一些。txt。png和其他文件转换为我的jar文件。我在src文件夹下创建了一个名为“resources”的文件夹。从IDE运行程序时,程序可以正确找到所有文件。但是,只要我用代码创建一个jar文件,就找不到任何文件。当然,我使用了getClass()。getResource(…)。 有人能帮我吗?:/
我还使用tkinter用Python3.7编写了一个程序。因为我使用的是外部图片,所以当我将所有内容编译成一个exe时,我需要包含它们。我尝试过执行,但仍然出现以下错误: _特金特。Tcl错误:无法打开“files/bg.png”:没有这样的文件或目录 代码如下: 我做错了什么?我也尝试过添加二进制文件,将该文件添加到我的spec文件中。我真的搞不懂!
问题内容: 大家好。我正在为一个学校项目工作,在该项目中,我们获得了.class文件,但没有提供包含在我们代码中的源代码。我正在使用Eclipse,并且希望将文件包含在我的项目中,以便可以从中实例化对象并使用它。 该文件是TokenizerImpl.class,我想这样使用它: 我将文件放在项目文件夹中,Eclipse表示“ TokenizeImpl无法解析为类型”,我认为这意味着它找不到类或源。
问题内容: 例如,我有一个名为的文件,其中包含个人信息(身份证,姓名,薪水): 如何编写允许用户输入人的ID并补充薪水的Java代码?最终输出将如下所示: 输入ID:A123 输入补充工资:2000 运行程序后的file.txt: 这是我到目前为止所做的,但没有成功: 我刚接触这些东西。任何帮助将不胜感激。 问题答案: 您必须使用从原始文件逐行读取它的方法。搜索并用新号码替换薪水。将内容写入新的临
问题内容: 我需要知道如何创建AES并使用它来加密和解密Java中的文件。 问题答案: 尝试使用并传入。有关快速示例,请参见http://www.java2s.com/Tutorial/Java/0490__Security/UsingCipherOutputStream.htm,而仅使用它。
问题内容: 在我的程序中,我多次从控制台读取整数。每次,我都需要输入这一行。 我习惯了C / C ++,我想知道是否可以定义类似 然后,在我的Java程序中的每个地方,我都可以将表单控制台读取为 但是我读过形式书籍Java不支持宏。 有人请向我解释为什么会这样,我可以用其他任何方式做到这一点。 问题答案: 您 可以, 但 不可以 。 该 不该 部分: 您 不应该这样做, 因为以这种方式使用预处理器