统计文本文件中各个字符出现的次数
IO流
public void test(){
FileReader fr
= null
;
FileWriter fw
= null
;
BufferedWriter bw
= null
;
try {
File file
= new File("D:\\IdeaProjects\\JavaDemo\\Hello.txt");
File file2
= new File("D:\\IdeaProjects\\JavaDemo\\he.txt");
fr
= new FileReader(file
);
fw
= new FileWriter(file2
);
bw
= new BufferedWriter(fw
);
Map
<Character,Integer> map
= new HashMap<>();
int len
;
while((len
= fr
.read()) != -1){
char ch
= (char) len
;
if(map
.get(ch
) == null
){
map
.put(ch
,1);
}else{
map
.put(ch
,map
.get(ch
) + 1);
}
}
Set
<Map
.Entry
<Character, Integer>> entries
= map
.entrySet();
for (Map
.Entry
<Character, Integer> entry
: entries
) {
switch (entry
.getKey()){
case ' ':
bw
.write("空格:" + entry
.getValue());
break;
case '\n':
bw
.write("换行:" + entry
.getValue());
break;
default:
bw
.write(entry
.getKey() +"="+ entry
.getValue());
break;
}
bw
.newLine();
}
} catch (IOException e
) {
e
.printStackTrace();
} finally {
if(bw
!= null
){
try {
bw
.close();
} catch (IOException e
) {
e
.printStackTrace();
}
}
if(fr
!= null
){
try {
fr
.close();
} catch (IOException e
) {
e
.printStackTrace();
}
}
}
}
控制台输入字母,输出转换成大写
转换流练习
public static void main(String
[] args
) {
BufferedReader br
= null
;
try {
br
= new BufferedReader(new InputStreamReader(System
.in
));
while(true){
String data
= br
.readLine();
if("e".equalsIgnoreCase(data
) || "exit".equalsIgnoreCase(data
)){
System
.out
.println("退出程序");
break;
}
String upperCase
= data
.toUpperCase();
System
.out
.println(upperCase
);
}
} catch (IOException e
) {
e
.printStackTrace();
} finally {
if(br
!= null
){
try {
br
.close();
} catch (IOException e
) {
e
.printStackTrace();
}
}
}
}
转载请注明原文地址: https://mac.8miu.com/read-484110.html