1
私はVigenere Cipherを使ってテキストファイルからテキストを暗号化して解読する簡単なプログラムを書いています。アウトラインコードは、私がトライcatchブロックjavaストリーム閉鎖エラー
Stream closed
から次のメッセージが表示されます
import java.io.*;
public class VigenereCipher
{
public static void main(String [] args)
throws IOException
{
char [][] cipherKey = new char[26][26];
String fileName, keyword;
System.out.println("Enter the file Name to Read");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
fileName = br.readLine();
System.out.println("Enter the Keyword");
keyword = br.readLine();
keyword = keyword.toUpperCase();
br.close();
//to read the file line by line and convert
br = new BufferedReader(new FileReader(fileName));
while((line = br.readLine()) != null){
line = line.toUpperCase();
//More code to perform the substitution, removed to reduce the code
}
br.close();
//code for decryption
System.out.println("Enter the filename to decode");
try
{
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
fileName = br1.readLine();
br1.close();
}catch(Exception ex){ System.out.println(ex.getMessage());}
System.out.println(fileName);
br = new BufferedReader(new FileReader(fileName));
while((line = br.readLine()) != null){
line = line.toUpperCase();
//The decryption code is here
}
br.close();
}
}
の下に貼り付けられ、私はSystem.inストリームを閉じることができるか、理解していませんか? 私は間違いを犯していますが、どうすれば修正できますか?あなたはファイル名を読んだ後に発行する最初の
br.close();
でそれを閉じているので
ありがとう、私はそれをします。 しかし、同じバッファ付きリーダーを使用できる方法はありますか? これはちょうど好奇心から外れています。 – nikhil