【发布时间】:2016-02-22 03:49:26
【问题描述】:
我有一个任务是加密一个给定密钥的文本文件。我有它的工作,除了当我有一个包含多行文本的文本文件时,输出都在一行上。我相信这是因为 BufferedReader.readLine() 不保存结束行?这是我的代码:
static void encode(File file, String key) throws IOException
{
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String current;
char content[] = {};
StringBuilder string = new StringBuilder(String.valueOf(content));
while((current=bufferedReader.readLine())!=null) //this reads the file contents and calls our convertString method
{
for(int i=0;i<current.length();i++)
{
content = new char[current.length()];
if(Character.isLetter(current.charAt(i)))
{
content[i] = convertString(current.charAt(i), key);
string.append(content[i]);
}
else
{
content[i] = current.charAt(i);
string.append(content[i]);
}
}
}
System.out.println(string);
fileReader.close();
}
我知道有 BufferedReader.read(),但那是一个 int 类型。我不确定是否有一个简单的替代品,或者我是否必须从根本上改变我的代码。
【问题讨论】:
-
你的标题到底是什么意思? BufferedReader 用于输入,而不是输出。
标签: java string encryption bufferedreader