したがって、ファイル内のすべての文字を増やすのに役立つ必要があります。全体のファイルは、すべての情報をユーザから読み込んで取得することができますが、実際にすべての文字を(この場合)ファイルを増やすことになると、空のファイルだけを出力します。すべての文字を1ずつ増やす(JAVA)
このプログラムの目的は、ファイルからすべてのテキストを取得し、文字を1つずつ増減させることです。だから、Aは今はBです。BはBです。BはBです。BはAです。Cは現在B.です。ファイルをエクスポート/閉じるに行くと、空白になります。ここ
はコードの部分である: 一方(fileIn.hasNext()){ letter.add(fileIn.next())。マイtest.txt
ファイルは、以下の内容が含まれてい
FileReader fr = null;
FileWriter fw = null;
int c;
try {
fr = new FileReader("C:\\Zia\\test.txt");
fw = new FileWriter("C:\\Zia\\Result.txt");
while ((c = fr.read()) != -1) {
if(c!=32)
fw.write((char)--c);
else
fw.write((char)c);
}
} catch(IOException e) {
e.printStackTrace();
} finally {
close(fr);
close(fw);
}
、あなたが以下のようにのような何かを行うことができます
import java.util.*;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.PrintWriter;
import java.io.File;
import java.util.ArrayList;
public class Assignment9
{
public static void main (String[] args)
{
Scanner in = new Scanner (System.in);
Scanner fileIn;
File f;
char ch = 65;
String fileName = "";
boolean userA = false;
String usersChoice = "";
ArrayList<String> letter = new ArrayList<String>();
try
{
System.out.println("Please enter the file name that you would like encrypted/decrypted: ");
fileName = in.nextLine();
//Builds the file and attaches the Scanner
f = new File (fileName);
fileIn = new Scanner (f);
PrintWriter fileout1 = new PrintWriter ("decrypt.txt");
PrintWriter fileout2 = new PrintWriter ("encrypt.txt");
System.out.println("Would you like to Decrypt or Encrypt the file?");
usersChoice = in.nextLine();
userA = true;
//Loop through the file and translate the characters
if (usersChoice.equalsIgnoreCase("Decrypt"))
{
while (fileIn.hasNext())
{
letter.add(fileIn.next());
for (int i = letter.size() - 1; i >= 0; i--)
{
ch = letter.get(i).charAt(0);
ch--;
fileout1.println(ch);
}
//Makes a new line at end of line
System.out.println();
}
//Decrease every letter by 1 (runs backwords)
System.out.println("Decrypt.txt has been created.");
fileout1.close();
}
//encrypts the file by increasing by 1
if (usersChoice.equalsIgnoreCase("encrypt"))
{
while (fileIn.hasNext())
{
letter.add(fileIn.next());
}
//Decrease every letter by 1 (runs backwords)
for (int i = letter.size() -1; i >= 0; i--)
{
System.out.println(letter);
ch --;
}
System.out.println("Encrypted.txt has been created.");
fileout2.close();;
}
} //end of try
catch (FileNotFoundException e)
{
System.out.println("Sorry invalid file, please try again");
fileName = in.nextLine();
}
} // end of main
} //end of program
**ここで**あなたは* fileout1に書き込みますか? –
文字が「A」で、文字数を1減らすとどうなりますか? –
だから、AはZになるはずです。そして、私はどこが間違っていると思いますか?この行は次のようになります。 ch = letter.get(i).charAt(0); ch - ; //この行がファイルに書き込まれないように文字を1つ減らしますか? – TylerK