将文本文件转换为驼峰大小写,然后保存

时间:2014-11-11 05:31:39

标签: java converter camelcasing

我得到了代码来删除单词之间的空格,但是无法将其用于大写每个单词的开头。可以找到问题所在。它需要在camelcase中。

原始问题是 - 编写一个Java程序,读取包含未知字符串行的文本文件,将整个文件转换为camelCase,最后将camelCase保存到另一个文本文件中。

package p3;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class CamelCase {

    public static void main(String[] args) throws IOException {
        String Str = null;
        File file = new File("txt.txt");

        if(!file.exists()) {
            System.out.println("The file does not exist.");
            System.exit(0);
        }

        Scanner filescanner = new Scanner(file);
        while (filescanner.hasNext()) {
            Str= filescanner.nextLine();
            System.out.println(Str);
        }
        filescanner.close();

        char[] characters = Str.toCharArray();
        boolean capitalizeWord = true;

        for (int i = 0; i < characters.length; i++) {
        char c = characters[i];
            if (Character.isWhitespace(c)) {
                capitalizeWord = true;
            }
            else if (capitalizeWord) {
                capitalizeWord = false;
                characters[i] = Character.toUpperCase(c);
            }

        String capsandnospace = Str.replaceAll("\\s","");
        FileWriter fw = new FileWriter("CamelCase.txt");
        PrintWriter pw= new PrintWriter("CamelCase.txt");
        pw.println(capsandnospace);
        pw.close();

        }

1 个答案:

答案 0 :(得分:0)

此代码

while (filescanner.hasNext()) {
        Str= filescanner.nextLine();
        System.out.println(Str);
    }

循环遍历文件,用当前行替换Str的内容。

循环结束后,Str的值将是最后一行的值。

您需要在循环

中转换字符串(以及写入结果文件)