Java 7按字符逐字阅读

时间:2014-05-03 02:44:44

标签: java string

我需要能够操纵字符串中的每个字符。有人能告诉我我在这里做错了吗?

import java.io.*;

public class encryptedWrite {
    public static void main(String[] args) {
        try {
            File file = new File("code.txt");

            // if file doesnt exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }

            BufferedReader read 
                = new BufferedReader(new InputStreamReader(System.in));
            int charNumber = 0;
            String content = read.readLine();
            FileWriter fw = new FileWriter(file.getAbsoluteFile());
            BufferedWriter bw = new BufferedWriter(fw);
            String numberString = charNumber + "";
            String modCont = content.charAt(numberString);
            while (!(modCont.equals("#"))) {
                bw.write(modCont);
                charNumber++; 
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

我需要能够将每个内容字符输出到code.txt。

2 个答案:

答案 0 :(得分:1)

我看到了几个问题。首先,charAt采用数字参数,而不是String参数。其次,你需要阅读循环内部,而不是外部。我会替换:

    String modCont = content.charAt(numberString);
               while (!(modCont.equals("#"))) {
    bw.write(modCont);
        charNumber++; 
      }

while (true) {
    String modCont = (String) content.charAt(charNumber);
    if (modCont.equals("#")) {
        break;
    }
    bw.write(modCont);
    charNumber++; 
}

答案 1 :(得分:0)

String的类方法:charAt()接受一个int作为参数,您将一个String对象作为参数传递。