【问题标题】:Alternative to BufferedReader.readLine() in Java to output multiple lines of text替代 Java 中的 BufferedReader.readLine() 输出多行文本
【发布时间】: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


【解决方案1】:

只需自己添加换行符

string.append("\n");

【讨论】:

  • 哇,我不敢相信我没有想到这一点,谢谢。
【解决方案2】:

如果内容都打印在一行上,一般想办法添加“\n”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 2014-09-09
    • 2012-05-04
    • 2021-03-05
    • 2020-08-18
    • 2017-10-03
    • 2018-10-29
    相关资源
    最近更新 更多