【问题标题】:Converting a .java file to a .txt document将 .java 文件转换为 .txt 文档
【发布时间】:2016-10-17 00:03:15
【问题描述】:

我正在尝试弄清楚如何加载 .java 文档并将其放入文本文档中......

需要做什么:

编写一个程序,打开一个 Java 源文件,添加行号,然后 将结果保存在新文件中。行号是数字 指示源文件的不同行,它们在以下情况下很有用 试图将某人的注意力吸引到特定的行(例如, “第 4 行有一个错误”)。你的程序应该提示用户 输入文件名,打开它,然后将每一行保存到输出修复 将行号添加到每行的开头。 之后,显示输出文件的名称。输出名称 文件应基于带有“。”的输入文件替换为“_”, 并在末尾添加“.txt”。 (提示:如果您使用的是 PrintWriter 对象调用 pw 来保存文本文件,然后该行 "pw.printf("%03d", x);"将显示一个整数 x 填充为三 前导零的数字。)

text.java 需要输出到带有编号的文本文档如:

001公开课dogHouse{

002 public static void main (String[] args) {

003 等等……

004

import java.io.*;

    public class dogHouse {
        public static void main(String [] args) throws IOException {

            // The name of the file to open.
            String fileName = "test.java";

            // This will reference one line at a time
            String line = null;

            try {
                // FileReader reads text files in the default encoding.
                FileReader fileReader = 
                    new FileReader(fileName);

                // Always wrap FileReader in BufferedReader.
                BufferedReader bufferedReader = 
                    new BufferedReader(fileReader);

                while((line = bufferedReader.readLine()) != null) {
                    System.out.println(line);
                }   

                // Always close files.
                bufferedReader.close();         
            }

            // The name of the file to open.
            finally {
                // Assume default encoding.
                FileWriter fileWriter =
                    new FileWriter(fileName);

                // Always wrap FileWriter in BufferedWriter.
                BufferedWriter bufferedWriter =
                    new BufferedWriter(fileWriter);

                // Note that write() does not automatically
                // append a newline character.
                bufferedWriter.write("Hello there,");
                // Always close files.
                bufferedWriter.close();
            }
        }
    }

【问题讨论】:

    标签: java text


    【解决方案1】:

    您需要在阅读时打印并计算line(s)。您还需要区分输出文件和输入文件。而且,我更喜欢使用try-with-resources Statements。类似的,

    String fileName = "test.java";
    String outputFileName = String.format("%s.txt", fileName.replace('.', '_'));
    try (BufferedReader br = new BufferedReader(new FileReader(fileName));
            PrintWriter pw = new PrintWriter(new FileWriter(outputFileName))) {
        int count = 1;
        String line;
        while ((line = br.readLine()) != null) {
            pw.printf("%03d %s%n", count, line);
            count++;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-20
      • 2023-03-18
      • 2019-08-29
      • 2016-10-02
      • 2015-12-11
      • 2020-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多