将 .prn 文件解析为 html

Parse .prn file to html

提问人:Vijay 提问时间:6/9/2022 更新时间:6/9/2022 访问量:341

问:

我正在尝试将 .prn 文件转换为 html。但是由于文件格式的原因,我无法以我想要的方式进行解析。 我尝试了很多方法。其中一些是:

package main;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class PrnToHtml {

public static void main(String[] args) {
    
  try (BufferedReader reader = new BufferedReader(new FileReader(".\\Workbook2.prn"));
             FileWriter writer = new FileWriter("output_prn.html")) {

            writer.write("<html><body><h3>PRN to HTML</h3><table border>\n");

            String currentLine;
            while ((currentLine = reader.readLine()) != null) {
                writer.write("<tr>");

                for(String field: currentLine.split("\\s{2,}"))  // "\\s{2,}"
                    writer.write("<td>" + field + "</td>");

                writer.write("</tr>\n");
            }

            writer.write("</table></body></html>\n");

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

这将是html页面的输出,如下所示:enter image description here

PRN 文件\数据如下所示:

enter image description here

我试图阅读的其他内容是:

    package main;

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.net.URISyntaxException;
    import java.nio.file.Files;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.util.stream.Collectors;
    import java.util.stream.Stream;

    public class PRNToHtml {

        private static final String DILIM_PRN = " ";
        private static final Pattern PRN_SPLITTER = Pattern.compile(DILIM_PRN);

        public static void main(String[] args) throws URISyntaxException, IOException {
            try (@SuppressWarnings("resource")
            Stream<String> lines = new BufferedReader(new FileReader(".\\Workbook2.prn")).lines()) {
                List<String[]> inputValuesInLines = lines.map(l -> PRN_SPLITTER.split(l)).collect(Collectors.toList());

                
                
                for (String[] strings : inputValuesInLines) {
                    
                    for (String s : strings) {
                        System.out.print(s.replaceAll("\\s+", "") + " ");
                    }
                    System.out.println();
                }
            }
        }
}

此输出与 PRN 数据文件中的输出完全相同。但是当我尝试嵌入html时,它看起来很奇怪:

enter image description here

将不胜感激。

谢谢你:)

Java HTML 解析

评论

1赞 Suraj Rao 6/9/2022
也许 stackoverflow.com/questions/57812068/......
0赞 Just another Java programmer 6/9/2022
您应该改用子字符串来读取每个字段。

答: 暂无答案