java怎么跟该text中单词,首字母大写,|该为空格
java怎么跟该text中单词,首字母大写,|该为空格,text中内容如下:name|gender|age|addressradio|male|40|Nederlands...
java怎么跟该text中单词,首字母大写,|该为空格,text中内容如下:
name|gender|age|address
radio|male|40|Nederlandse
mohesen|male|23|helwan
sameh|male|23|helwan
abd|male|24|caire
gabriella|female|20|Guayas
carolina|female|25|Guayaqui
krista|female|18|Columbia
kobe|male|22|Nepal
roby|male|33|Nederlandse
raffiena|female|25|TORONTO
fawadullah|male|30|Pakistan
gwendell|male|19|Curacao
alejandro|male|20|Venezuela
aisha|female|18|Antillen
注意,这些内容不是在同一行上的
我想把修改后的内容再写回原文档,就加了以下代码,可是问什么修改后的单词都在一行,请问如何分行?
String str = "" + sb;
{FileWriter first = new FileWriter(new File("C:\\LearnJava\\eclipse\\workspace\\HelloText.txt"));
;
first.write(str);
first.close();}} 展开
name|gender|age|address
radio|male|40|Nederlandse
mohesen|male|23|helwan
sameh|male|23|helwan
abd|male|24|caire
gabriella|female|20|Guayas
carolina|female|25|Guayaqui
krista|female|18|Columbia
kobe|male|22|Nepal
roby|male|33|Nederlandse
raffiena|female|25|TORONTO
fawadullah|male|30|Pakistan
gwendell|male|19|Curacao
alejandro|male|20|Venezuela
aisha|female|18|Antillen
注意,这些内容不是在同一行上的
我想把修改后的内容再写回原文档,就加了以下代码,可是问什么修改后的单词都在一行,请问如何分行?
String str = "" + sb;
{FileWriter first = new FileWriter(new File("C:\\LearnJava\\eclipse\\workspace\\HelloText.txt"));
;
first.write(str);
first.close();}} 展开
展开全部
/* 如果你只是单纯的为了结果,我想简单的输出办法是利用重定向。即
java Test >> test.txt 将结果输出到test.txt里, >>是追加。
如果用Java实现,那么创建FileWriter实例时要指定是追加,不然就把原来的内容覆盖了。
源文件保存为Test.java, 然后将上面所写的要转换的字符存放到一个文本文件中,我下面用的test.txt,你可以根据自己的需要进行调整,当然要把这2个文件放在同一目录下,因为我用的是相对路径,这点要注意。转换的思路是先要把各个单词分离,用的了String.split(String regx)这个方法, 由于你用的是|进行分隔,而这个又是正则式中的符号,所以要转义用\\| , 将各个单词分离后会存放到一个字符数组中,然后将其调整为首字母大写,即ToUpper方法所做的工作,然后再在每个单词后面加入空格,相当于|已经过滤掉,并不是转换, 要注意最后一个单词是不再加空格的。所以可以先全部加入空格,最后完成后再用trim将右边的空格滤掉即可 */
import java.io.*;
public class Test
{
public static String ToUpper(String str)
{
if(str.isEmpty())
return str;
StringBuilder sb = new StringBuilder(str);
sb.setCharAt(0, Character.toTitleCase(sb.charAt(0)));
return sb.toString();
}
public static void main(String[] args) throws IOException
{
FileReader reader = null;
BufferedReader bfr = null;
FileWriter writer = null;
BufferedWriter bfw = null;
try{
reader = new FileReader("test.txt");
bfr = new BufferedReader(reader);
String line = "";
StringBuilder sb = new StringBuilder();
while((line = bfr.readLine()) != null) {
String[] words = line.split("\\|");
for(int i = 0; i < words.length; i++) {
sb.append(ToUpper(words[i]));
sb.append(" ");
}
}
System.out.println(sb.toString().trim());
writer = new FileWriter("test.txt", true);
bfw = new BufferedWriter(writer);
bfw.write("\n*****output*****\n");
bfw.write(sb.toString().trim());
bfw.flush();
}
finally {
if(reader != null)
reader.close();
if(bfr != null)
bfr.close();
if(writer != null)
writer.close();
if(bfw != null)
bfw.close();
}
}
}
java Test >> test.txt 将结果输出到test.txt里, >>是追加。
如果用Java实现,那么创建FileWriter实例时要指定是追加,不然就把原来的内容覆盖了。
源文件保存为Test.java, 然后将上面所写的要转换的字符存放到一个文本文件中,我下面用的test.txt,你可以根据自己的需要进行调整,当然要把这2个文件放在同一目录下,因为我用的是相对路径,这点要注意。转换的思路是先要把各个单词分离,用的了String.split(String regx)这个方法, 由于你用的是|进行分隔,而这个又是正则式中的符号,所以要转义用\\| , 将各个单词分离后会存放到一个字符数组中,然后将其调整为首字母大写,即ToUpper方法所做的工作,然后再在每个单词后面加入空格,相当于|已经过滤掉,并不是转换, 要注意最后一个单词是不再加空格的。所以可以先全部加入空格,最后完成后再用trim将右边的空格滤掉即可 */
import java.io.*;
public class Test
{
public static String ToUpper(String str)
{
if(str.isEmpty())
return str;
StringBuilder sb = new StringBuilder(str);
sb.setCharAt(0, Character.toTitleCase(sb.charAt(0)));
return sb.toString();
}
public static void main(String[] args) throws IOException
{
FileReader reader = null;
BufferedReader bfr = null;
FileWriter writer = null;
BufferedWriter bfw = null;
try{
reader = new FileReader("test.txt");
bfr = new BufferedReader(reader);
String line = "";
StringBuilder sb = new StringBuilder();
while((line = bfr.readLine()) != null) {
String[] words = line.split("\\|");
for(int i = 0; i < words.length; i++) {
sb.append(ToUpper(words[i]));
sb.append(" ");
}
}
System.out.println(sb.toString().trim());
writer = new FileWriter("test.txt", true);
bfw = new BufferedWriter(writer);
bfw.write("\n*****output*****\n");
bfw.write(sb.toString().trim());
bfw.flush();
}
finally {
if(reader != null)
reader.close();
if(bfr != null)
bfr.close();
if(writer != null)
writer.close();
if(bfw != null)
bfw.close();
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询