首页 > 解决方案 > 如何在扫描空格并在每个空格之后插入额外空格时将 RandomAccessFile 打印到 .txt 文件

问题描述

我正在尝试创建一个二进制数据读取器,它将 .dat 文件读取到“output.txt”,但是在复制文件时,它应该检查空格。当它找到一个空间时,我将它设置为它会自动将一个空间打印到文件中,然后继续复制文件。但是,它什么也没做。这是我的代码:

/*
binReader.java

Justin Wang
*/

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.RandomAccessFile;

public class binReader {
    public static void main(final String[] args) throws FileNotFoundException {
        final String customHeader = "STATE POP CHILD POVERTYCHILD % POVERTY";
        final String customSubHeader = "______________________________________";

        try (PrintWriter output = new PrintWriter("output.txt");
                RandomAccessFile binData = new RandomAccessFile("binaryFile.dat", "rw");) {
            output.println(customHeader);
            output.println(customSubHeader);

            for (int i = 0; i < binData.length(); i += 2) {
                binData.seek(i); // sets the pointer

                if (Character.toString(binData.readChar()) == " ") {
                    output.print("     ");
                    } //adds an extra space where other spaces have been
                binData.seek(i);
                output.print(binData.readChar());
            } // reads the entire file

        } catch (final IOException e) {
                e.printStackTrace();
                }
        }
    }

标签: java

解决方案


推荐阅读