2017-06-21 5 views
0

大文字を1つのファイルから小文字に変換するために書いたコードに問題があります。別のinputtext.txtという名前のテキストファイルに対してコードを実行すると、出力ファイルが作成されますが、大文字のテキストは変換されません。大文字を1つのテキストファイルから別のテキストファイルの小文字に変換する際に、すべてのテキストをコピーするJavaコード

import java.io.*; 

public class TextFile { 
    public static void main (String[] args) throws IOException { 
    // Assume default encoding. 
     // The name of the file to open for reading. 
      File filein = new File("inputtext.txt"); 
     // The name of the file to open for writing. 
      File fileout = new File("outputtext.txt"); 
      char CharCounter = 0;  
      BufferedReader in = (new BufferedReader(new FileReader(filein))); 
      PrintWriter out = (new PrintWriter(new FileWriter(fileout))); 

      int z; 
      while ((z = in.read()) != -1){ 

       if (Character.isUpperCase(z)){ 
        Character.toLowerCase(z); 

       } 
       out.write(z); 


      } 
      // Always close files. 
      in.close(); 
      out.close(); 
     }  
    } 
+0

必要であれば、私はより明確にオープンAMでこれはC/C++ではありません。ここでは、**プリミティブ型** – ShayHaned

+0

の値をメソッドごとに変更して、行ごとにString.toLowerCaseを呼び出して出力ファイルに書き込む方法を期待しています。 –

+0

私はjavaとプログラミングのように非常に新しいです@ShayHAned – Rana

答えて

0

1行ずつ読むことができ、書き込み中に小文字に変換することができます。

BufferedReader br = new BufferedReader(new FileReader(new File("a"))); 
    PrintWriter pw = new PrintWriter(new FileWriter(new File("b"))); 
    String line = null; 
    while((line = br.readLine()) != null){ 
     pw.write(line.toLowerCase()); 
    } 
    pw.close(); 
    br.close(); 
+0

答えをありがとうが、私も書いたコードの問題を指摘することができます。ありがとう – Rana

+0

Character.toLowerCase()は実際に返すでしょうケース値を低くする。あなたはその値を保存/使用していません。むしろ変数zを出力ファイルに書き込んでいます。これは任意の場合があります。 –

+0

自分のコードに 'z = Character.toLowerCase(z);'を書く場合は、 –

0

コードは問題ありません。問題はむしろ、Zの値を変換しませんCharacter.toLowerCase(Z)であるあなたに、変数Z

int theLowerCaseOfZ = Character.toLowerCase(z); 

の下部ケースで、新しい値を返すそして、あなたは簡単に殺すことができますあなたのこの

int z; 
      while ((z = in.read()) != -1){ 

       if (Character.isUpperCase(z)){ 
        // SMOKING GUN!!! 
        out.write((int) Character.toLowerCase(z)); 

       } 

      } 
      // Always close files. 
      in.close(); 
      out.close() 

によって問題そして、あなたも

int theLowerCaseOfZ = (int) Character.toLowerCase(z); 
out.write(theLowerCaseOfZ); 
を行うことができます

あまりにも何か** **返し実際** Character.toLowerCase(int型)**すべてRANA紳士 :)を愛し、Rachitの答えはあまりにも有用であり、

関連する問題