读取文件并将其全部转换为UpperCase

时间:2014-11-17 17:48:26

标签: java

我有一个小问题。我正在阅读sort.txt,其中有如下命令:

  • 一个
  • B'/ LI>
  • C
  • ASV
  • 悲伤
  • DDA

下面你可以看到我的代码将所有这些转换为大写。但是我得到了以下结果:

ABCASVSADDDA

应该是:

  • A
  • C
  • ASV

等等

所以你可以看到它使它们成为UpperCase,但为什么不是每行中的每个单词?

public class vlke_crke {


 public static void main (String[] args) {
     try
    {
     FileReader fr = new FileReader("sort.txt");
     BufferedReader br = new BufferedReader(fr);
     PrintWriter out = (new PrintWriter(new FileWriter("final.txt")));
     String s="";
   while((s = br.readLine()) != null) 
   {
      out.write(s.toUpperCase()+"\n");

    }
  out.close();
  }
    catch(Exception e)
    {
     e.printStackTrace();
    }
   }

}

2 个答案:

答案 0 :(得分:4)

尝试

   while((s = br.readLine()) != null) 
   {
      out.println(s.toUpperCase());

    }

根据系统使用“\ r \ n”而不是“\ n”。

但更好的是println(),因为它会处理系统中使用的行分隔符。

答案 1 :(得分:3)

而不是\ n使用System.getProperty(“line.separator”)