1、给指定的Java源程序所有行加上行号,行号和程序之间间隔2个空格。处理结果写入到另一个文件(XX.txt)中(XX为指定的Java源程序文件名(不带扩展名))。 「1」Java源程序的文件名由命令行参数指定。 「2」行号占用位数有命令行参数确定(2或3)。 如果2位,则一位数的行号前面补0。 如果为3位,则1位数补2个0,2位数补1个0。
时间: 2023-06-06 15:07:45 浏览: 110
答案:以下是Java代码实现需求的示例:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
if (args.length != 2) { // 判断命令行参数是否正确
System.out.println("Usage: java Main <source_file> <line_width>");
System.exit(1);
}
String sourceFileName = args[0];
int lineWidth = Integer.parseInt(args[1]);
try (BufferedReader reader = new BufferedReader(new FileReader(sourceFileName));
BufferedWriter writer = new BufferedWriter(new FileWriter(sourceFileName + ".txt"))) {
int lineNumber = 1;
String lineContent;
while ((lineContent = reader.readLine()) != null) {
String lineNumberStr;
if (lineWidth == 2) {
lineNumberStr = String.format("%02d", lineNumber);
} else { // lineWidth == 3
lineNumberStr = String.format("%03d", lineNumber);
}
writer.write(lineNumberStr + " " + lineContent + "\n");
lineNumber++;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注意:该程序不考虑特殊字符和注释的情况,只是简单地将每一行前面加上行号和两个空格后输出到目标文件中。
阅读全文