尝试从ASCII艺术文本文件中读取文本(它包含一系列空格和' *'字符)。然后,我希望能够将星号更改为用户希望的任何字符。
我还想选择一个随机文件。这三个文件都存在。如果需要,我可以将它们存储为列表。
执行时,此代码会提示用户输入替换文本,但只返回文件读取位置(包括随机数1-3)。
import java.util.Scanner;
import java.util.Random;
import java.io.*;
public class AsciiArt
{
public static void main(String[]args) throws IOException
{
System.out.println("ASCII Art\n");
Scanner kbd = new Scanner(System.in);
Random randomGen = new Random();
int verSub = randomGen.nextInt(3)+1;
String fullSub = "/user/****/data/****"+verSub+".dat";
File inputFile = new File(fullSub);
System.out.print("Enter substitution text? ");
String subText = kbd.next();
Scanner input = new Scanner(fullSub);
PrintWriter outputFile = new PrintWriter("newFile.txt")
String line;
while(input.hasNext()){
line = input.nextLine();
int i, subIdx = 0;
for (i = 0; i < line.length(); i++){
if(line.charAt(i) == '*'){
outputFile.print(subText.charAt(subIdx));
++subIdx;
}
if(subIdx == subText.length()){
subIdx = 0;
}
else{
outputFile.print(line.charAt(i));
}
}
}
input.close();
outputFile.close();
System.out.println();
}
}