在 Java 中替代 BufferedReader.readLine() 以输出多行文本
Alternative to BufferedReader.readLine() in Java to output multiple lines of text
我有一个作业要用给定的密钥加密文本文件。我让它工作,除了当我有一个包含多行文本的文本文件时,输出全部在一行上。我相信这是因为 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 类型。我不确定是否有一个简单的替代品,或者我是否必须从根本上更改我的代码。
只需自己添加换行符
string.append("\n");
如果内容全部打印在一行上,通常寻找一种方法来添加“\n”
我有一个作业要用给定的密钥加密文本文件。我让它工作,除了当我有一个包含多行文本的文本文件时,输出全部在一行上。我相信这是因为 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 类型。我不确定是否有一个简单的替代品,或者我是否必须从根本上更改我的代码。
只需自己添加换行符
string.append("\n");
如果内容全部打印在一行上,通常寻找一种方法来添加“\n”