将文本文件转换为全部大写字母

时间:2014-03-11 06:32:54

标签: java loops while-loop jgrasp

我有一个课程作业,我必须制作一个程序,它接受一个现有文件,并将所有字母转换为大写。下面是代码的一部分(特别是循环):

 // Read lines from the file until no more are left.
  while (inputFile.hasNext())
  {
      // Read the next name.
     String friendName = inputFile.nextLine();

      // Need line to make all letters uppercase

  }

  System.out.print("Enter the saved file name: ");
  String filename2 = keyboard.nextLine();

当我现在运行它时:我能够打开第一个文本文件并创建第二个txt文件,但新文件中没有字母。

6 个答案:

答案 0 :(得分:2)

您可以尝试这样:

File file1 = new File("initial.txt");
File file2 = new File("final.txt"); 
char CharCounter = 0;       
BufferedReader in = (new BufferedReader(newFileReader(file1)));
PrintWriter out = (new PrintWriter(new FileWriter(file2)));
int ch;
while ((ch = in.read()) != -1)
{
   if (Character.isLowerCase(ch))
   {
        ch=Character.toUpperCase(ch);// convert assign variable
   }
out.write(ch);
}
in.close();
out.close();

答案 1 :(得分:1)

试试String upper = friendName.toUpperCase()。 现在upper字符串的所有字符都是大写字母。请根据需要使用它。请参阅String API

答案 2 :(得分:0)

查看String class documentation并尝试查找将字符串值更改为全部大写的方法。

此外,您需要将输出文件名称放在while循环之上,然后写入循环内的输出文件,因为对于循环的每次迭代,前一次迭代的字符串值都将丢失。

答案 3 :(得分:0)

使用FileUtils readFileToString()writeFileToString()轻松完成工作,

String content = FileUtils.readFileToString(new File(FILE_PATH));
FileUtils.writeStringToFile(new File(FILE_PATH), content.toUpperCase());

答案 4 :(得分:0)

friendName = friendName +System.lineSeparator()+friendName.toUpperCase();

//在while循环结束后,在输出文件中写下friendName的内容。

答案 5 :(得分:0)

试试此演示代码:

       import java.io.*;
       import java.util.*;
       class m{

  public static void main (String[] args) {
     try
    {
     FileReader fr = new FileReader("file.java");
     BufferedReader br = new BufferedReader(fr);
     PrintWriter out = (new PrintWriter(new FileWriter("mahesh.java")));
     String s="";
   while((s = br.readLine()) != null) 
   {
      out.write(s.toUpperCase()+"\n");
    }
  out.close();
  }
    catch(Exception e)
    {
     e.printStackTrace();
    }
   }

  }