首页 > 解决方案 > 我将如何通过创建一个旧图形常量加倍的新文件来使用图形常量缩放 Java 源代码?

问题描述

该程序的目的是从一个单独的 Java 源代码文件中获取图形常量,并使用同一个 Java 程序中的图形常量按比例放大或缩小来编写一个更新的文件。

但是,我不确定如何只更改某些行中的数字而忽略其他行。例如,我不想更改 RGB 值的数字,以便颜色保持不变。

那么我将如何从更改数值中排除某些行?

import java.io.File;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Scanner;
import java.util.Arrays;
public class ScaleUpOrDown {
    public static void main() {
        File myFile = new File("SampleGraphics2.java");
        try {
            Scanner filereader = new Scanner(myFile);

            do {
                BufferedWriter OutputF = new BufferedWriter(new FileWriter("OutputForDouble.txt", true));
                String line = filereader.nextLine();
                int nu = 0;
                String[] diffArray;

                String sp[] = line.split(" ");
                Pattern patternP = Pattern.compile("-?\\d+");
                for (int i = 0; i < sp.length; i++) {
                    Matcher matchN = patternP.matcher(sp[i]);
                    while (matchN.find()) {
                        sp[i] = String.valueOf(Integer.parseInt(matchN.group()) * 2);
                    }
                }
                Arrays.stream(sp).forEach(string -> extraFunction(string));
                OutputF.append("\n");
                OutputF.close();
            } while (filereader.hasNextLine());
            filereader.close();
        } catch (IOException e) {
            System.out.println("Error, file not found!");
        }
    }

    public static void extraFunction(String Bigstring) {
        try {
            BufferedWriter writingT = new BufferedWriter(new FileWriter("OutputForDouble.txt", true));
            writingT.append(Bigstring + " ");
            writingT.close();
            System.out.print(Bigstring);
        } catch (IOException e) {
            System.out.println("Unable to write to file.");
        }

    }
}

标签: javagraphicsjava-iofilewriter

解决方案


推荐阅读