【问题标题】:Converting into a string each of the lines retrieved from reading a text file将读取文本文件中检索到的每一行转换为字符串
【发布时间】:2017-06-18 05:49:13
【问题描述】:

如何将读取文本文件中检索到的每一行转换为字符串。例如:

    RandomAccessFile file = new RandomAccessFile("C:text.txt", "r");
    FileChannel channel = file.getChannel();
    System.out.println("Size: " + channel.size());
    ByteBuffer buffer = ByteBuffer.allocate((int) channel.size());
    channel.read(buffer);
    buffer.flip();//Restore buffer to position 0 to read it
    System.out.println("Read ... ");


    for (int i = 0; i < channel.size(); i++) {                     

        System.out.print((char) buffer.get());

    }

我尝试在 for 循环中添加以下内容,以便每次在“stringValueOf”中获取每一行,但它会分别显示每个字符而不是每一行。

 String stringValueOf = String.valueOf((char) buffer.get()); 

【问题讨论】:

    标签: java string char type-conversion buffer


    【解决方案1】:

    InputStreamReader 用于读取字符。 Java 提供了 BufferedReader 让阅读行变得容易。

    下面的 sn -p 从文件中读取行并打印到标准输出。

    public void printFileLinesToStdOut(File file, Charset charSet)
    {
        try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charSet)))
        {
            String line = null;
    
            while((line = reader.readLine()) != null)
            {
                System.out.println(line);
            }
        }
        catch(IOException e)
        {
             // TODO : your code here
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多