2

テキスト ファイルからすべてのコンマを削除しようとしていますが、どこが間違っていますか? それはreplaceAllフィールドに関係していると思います。私はそれを調査しましたが、答えが見つかりません。また、「;」の後に改行が必要です。コンマを削除するだけでなく。前もって感謝します

`public static void open(){
     // The name of the file to open.
    String fileName = "Test.txt";
    // This will reference one line at a time
    String line = null;

    try {
        // FileReader reads text files in the default encoding.
        FileReader fileReader = new FileReader(fileName);

        // Always wrap FileReader in BufferedReader.
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        while((line = bufferedReader.readLine()) != null) {
            line.replaceAll(",","\\.");

            System.out.println(line);
        }   
        // Always close files.
        bufferedReader.close();         
    }
    catch(FileNotFoundException ex) {
        System.out.println(
            "Unable to open file '" + 
            fileName + "'");                
    }
    catch(IOException ex) {
        System.out.println(
            "Error reading file '" 
            + fileName + "'");                  
    }
}`
4

5 に答える 5

0

次のファイルをロードしてみてください:

public static String readAllText(String filename) throws Exception {
    StringBuilder sb = new StringBuilder();
    Files.lines(Paths.get(filename)).forEach(sb::append);
    return sb.toString();
}

次に、あなたが望むものを変更します。

String file = readAllText("myfile.txt");
file = file.replace(",","\\.);
于 2014-08-25T10:44:14.103 に答える
0
line.replaceAll(",","\\.");

Java 文字列は不変です。これは変更されませlineが、必要な置換が適用された新しい文字列を返します。代わりにそれを変数に割り当ててみてください:

String s = line.replaceAll(",","\\.");

または直接印刷する:

System.out.println(line.replaceAll(",","\\."));
于 2013-11-12T19:48:41.620 に答える
0

次のように試すことができます:

String s = line.replaceAll(",","\\.");

注 Java 文字列は不変です

または、次のように直接印刷することもできます。

System.out.println(line.replaceAll(",","\\."));

あなたが言うときあなたのコードで:

line.replaceAll(",","\\.");

行に変更はなく、新しい文字列を返します。

于 2013-11-12T19:49:20.260 に答える