从文件ASCII艺术中读取替换,写入文件

时间:2017-02-15 18:54:21

标签: java

尝试从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();

   }
 }

0 个答案:

没有答案