Java文件与流测试
import java.io.File;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.util.Arrays;
import java.util.List;
import java.util.StringTokenizer;
import java.io.FileWriter; public class titletwo { public static void main(String args[]) { int totalnum=0;
String ha;
int length;
int n;
char ba;
char letter[]=new char[60];
int sum[]=new int[60];
int num=0;
String chuan="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
letter=chuan.toCharArray();
try {
String pathname = "C:\\Users\\26624\\Desktop\\Harry Potter and the Sorcerer's Stone.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
File file = new File(pathname);
InputStreamReader reader = new InputStreamReader(
new FileInputStream(file));
BufferedReader br = new BufferedReader(reader);
String line = "";
line = br.readLine();
while (line != null) { StringTokenizer str = new StringTokenizer(line, ",,., ,!,?,“,”,‘,-,'"); while (str.hasMoreElements()) {
ha=String.valueOf(str.nextElement());
length=ha.length();
n=0;
while(true)
{
ba=ha.charAt(n++);
switch(ba)
{
case 'a' : sum[0]++;break;
case 'b' : sum[1]++;break;
case 'c' : sum[2]++;break;
case 'd' : sum[3]++;break;
case 'e' : sum[4]++;break;
case 'f' : sum[5]++;break;
case 'g' : sum[6]++;break;
case 'h' : sum[7]++;break;
case 'i' : sum[8]++;break;
case 'j' : sum[9]++;break;
case 'k' : sum[10]++;break;
case 'l' : sum[11]++;break;
case 'm' : sum[12]++;break;
case 'n' :sum[13]++;break;
case 'o' :sum[14]++;break;
case 'p' :sum[15]++;break;
case 'q' :sum[16]++;break;
case 'r' :sum[17]++;break;
case 's' :sum[18]++;break;
case 't' :sum[19]++;break;
case 'u' :sum[20]++;break;
case 'v' :sum[21]++;break;
case 'w' :sum[22]++;break;
case 'x' :sum[23]++;break;
case 'y' :sum[24]++;break;
case 'z' :sum[25]++;break; case 'A' : sum[26]++;break;
case 'B' : sum[27]++;break;
case 'C' : sum[28]++;break;
case 'D' : sum[29]++;break;
case 'E' : sum[30]++;break;
case 'F' : sum[31]++;break;
case 'G' : sum[32]++;break;
case 'H' : sum[33]++;break;
case 'I' : sum[34]++;break;
case 'J' : sum[35]++;break;
case 'K' : sum[36]++;break;
case 'L' : sum[37]++;break;
case 'M' : sum[38]++;break;
case 'N' :sum[39]++;break;
case 'O' :sum[40]++;break;
case 'P' :sum[41]++;break;
case 'Q' :sum[42]++;break;
case 'R' :sum[43]++;break;
case 'S' :sum[44]++;break;
case 'T' :sum[45]++;break;
case 'U' :sum[46]++;break;
case 'V' :sum[47]++;break;
case 'W' :sum[48]++;break;
case 'X' :sum[49]++;break;
case 'Y' :sum[50]++;break;
case 'Z' :sum[51]++;break; }
totalnum++;
length--;
if(length<=0)
{
break;
}
} } line = br.readLine(); // 一次读入一行数据
}
} catch (Exception e) {
e.printStackTrace();
}
int ma,b;
char a;
for(int i=0;i<51;i++)
{
ma=sum[i];
b=i;
a=letter[i];
for(int j=i+1;j<52;j++)
{
if(ma>=sum[j])
{
ma=sum[j];
b=j;
}
}
ma=sum[i];
sum[i]=sum[b];
sum[b]=ma;
letter[i]=letter[b];
letter[b]=a;
}
for(int i=51;i>=0;i--)
{
double what=(double)sum[i]/totalnum*100;
BigDecimal bg=new BigDecimal(what);
double f1=bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(letter[i]+" "+f1+"%");
}
}
功能二、三:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.StringTokenizer; public class titlesix {
public static void haha(String road)
{
int m=0;
int n=0;
int flag;
String word[]=new String[10000];
int sum[]=new int[10000];
String ha[]=new String[10000];
List<String> list;
String w;
int totalnum=0;
int i=0; try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw /* 读入TXT文件 */
String pathname = road; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
File filename = new File(pathname); // 要读取以上路径的input。txt文件
InputStreamReader reader = new InputStreamReader(
new FileInputStream(filename));
BufferedReader br = new BufferedReader(reader);
String line = "";
line = br.readLine();
while (line != null) { StringTokenizer st2 = new StringTokenizer(line, " ,-");
i=0;
while (st2.hasMoreElements()) {
ha[i]=String.valueOf(st2.nextElement());
ha[i]=ha[i].toLowerCase();
m++;
list = Arrays.asList(word);
flag = list.indexOf(ha[i]);
if(flag==-1)
{
word[n]=ha[i];
sum[n]++;
n++;
totalnum++;
}
else
{
sum[flag]++;
totalnum++;
}
i++;
}
line = br.readLine(); // 一次读入一行数据
}
} catch (Exception e) {
e.printStackTrace();
}
int ma=0;
int biao=0;
for(int j=0;j<n-1;j++)
{
ma=sum[j];
biao=j;
w=word[j];
for(int k=j+1;k<n;k++)
{
if(ma<sum[k])
{
ma=sum[k];
biao=k;
}
}
sum[biao]=sum[j];
sum[j]=ma;
word[j]=word[biao];
word[biao]=w;
}
System.out.println("请输入前N名单词的个数:");
Scanner shuru=new Scanner(System.in);
int mmm;
mmm=shuru.nextInt();
for(int j=0;j<mmm;j++)
{
double what=(double)sum[j]/totalnum*100;
BigDecimal bg=new BigDecimal(what);
double f1=bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(word[j]+" "+f1+"%"); }
}
public int way(String dao)
{
int length;
int flag=1;
Path path=Paths.get(dao);
try
{
DirectoryStream<Path> children=Files.newDirectoryStream(path);
for(Path child:children)
{
flag=1;
String lujing;
lujing=child.toString();
length=lujing.length();
if(length==0)
{
return 0;
}
char sta[]=new char[1000];
sta=lujing.toCharArray();
for(int i=0;i<length;i++)
{
if(sta[i]=='\\')
{
sta[i]='/';
}
if(sta[i]=='.')
{ flag=0;
}
}
lujing=String.valueOf(sta);
System.out.println(lujing);
if(flag==1)
{
way(lujing);
}
else
{
titlefive.haha(lujing);
}
}
}catch(Exception e){}
return 0;
}
public static void main(String[] args) {
{
titlesix sta=new titlesix();
sta.way("D:/aaa");
}
} }
Java文件与流测试的更多相关文章
- Java - 文件(IO流)
Java - 文件 (IO) 流的分类: > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter ...
- java 文件和流
最近工作中涉及到一些文件操作的东西,闲下来刚好做个整理. 控制台IO 在控制台使用键盘作为标准输入并使用终端窗口(在windows下,经常是命令提示符或者是PowerShell:在linuxx/OS ...
- Java文件IO流的操作总结
Java中的IO操作涉及到的概念及相关类很多,很容易弄混,今天特来整理总结一下,并附上一份完整的文件操作的代码. 概念解析 读和写 流就是管道,向管道里面写数据用输出流:write 从管道里面读数据, ...
- java 文件及流读取
在Java语言的IO编程中,读取文件是分两个步骤:1.将文件中的数据转换为流,2.读取流内部的数据.其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用 ...
- Java:文件字符流和字节流的输入和输出
最近在学习Java,所以就总结一篇文件字节流和字符流的输入和输出. 总的来说,IO流分类如下: 输入输出方向: 输入流(从外设读取到内存)和输出流(从内存输出到外设) 数据的操作方式: 字节流 ...
- Java文件字符流
1.字符编码(Character encoding)和编码集(Character set) 字符编码(Character encoding)是将字符转为字节或字节数组的过程. 字符集(Characte ...
- Java学习笔记-Java文件操作流
day03 输入输出流:读入写出 节点流: 有明确的来源和去向 往往对字节操作 节点流又叫低级流.字节流 处理流: 没有明确的来源和去向 往往对低级流或其他高级流进行操作,不能独立 ...
- java文件与流课后作业
1,编写一个程序,指定一个文件夹,能自动计算出其总容量, 2,编写一个文件加解密程序,通过命令行完成加解密工作3,编写一个文件分割工具,能把一个大文件分割成多个小的文件.并且能再次把它们合并起来得到完 ...
- Java IO 文件与流基础
Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...
随机推荐
- 《Redis5.x入门教程》正式推出
关注公众号CoderBuff回复"redis"可抢先获取<Redis5.x入门教程>PDF完整版 在<ElasticSearch6.x实战教程>之后,又斗胆 ...
- python中调用函数时,参数顺序与参数赋值问题
设置类和函数如下:class MM(): def ff(self,url(1),method(2),data=None(3),cookie=None(4)): if method.lower()==& ...
- Hadoop fs 使用方法
hdfs的基本命令 hdfs dfs -help 查看帮助 在HDFS的文件系统中,HDFS只支持绝对路径 1.-ls: 显示目录信息 hadoop fs -ls / 列出指定目录下的内容 2. ...
- KVM性能优化之CPU优化
前言 任何平台根据场景的不同,都有相应的优化.不一样的硬件环境.网络环境,同样的一个平台,它跑出的效果也肯定不一样.就好比一辆法拉利,在高速公路里跑跟乡村街道跑,速度和激情肯定不同... 所以,我们做 ...
- 无线网络WPA加密算法基础
2013-11-13 23:08 (分类:网络安全) 对无线没什么认识,总听说有人蹭网,还有卖蹭网器的,于是补充一下知识. 无线加密有两类:WEP WAP,目前采用WEP加密的非常少了,WEP应该只是 ...
- java String hashCode遇到的坑
在进行数据交换时,如果主键不是整型,需要对字符串,或联合主键拼接为字符串,进行hash,再进行取模分片,使用的是String自带的hashCode()方法,本来是件很方便的事,但是有些字符串取hash ...
- Gong服务实现平滑重启分析
平滑重启是指能让我们的程序在重启的过程不中断服务,新老进程无缝衔接,实现零停机时间(Zero-Downtime)部署: 平滑重启是建立在优雅退出的基础之上的,之前一篇文章介绍了相关实现:Golang中 ...
- Zookeeper分布式系统协同器概念快速学习
原文格式可以访问:https://www.rockysky.tech 分布式系统的基本操作 主节点选举:在绝大多数分布式系统中,都需要进行主节点选举.主节点负责管理协调其它节点或者同步集群中其它节点的 ...
- .net List回收
转 static void Main(string[] args) { List<int> list = new List<int>(); for (int i = 0; i ...
- c语言心形告白代码实现
c语言心形告白代码实现 1.彩色告白 include<stdio.h> include<math.h> include<windows.h> include< ...