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类的构造器时,仅仅是在 ...
随机推荐
- android 基础学习笔记3
1.XML解析 与 Json 解析 (文件读取一般较耗时 可将相应的解析做成方法 用线程调用) 一.XML解析 (pull解析)res/xml(资源文件 需用到Resources) Xml文本 ...
- 手机控制电脑第二弹之HIPC
点击蓝字关注我们 是否很多时候电脑不在身边,又急需要使用,比如正好要用一个文件,又没有放在我们的网盘中,想用手机查看电脑状态,但是很多太复杂的方式不会使用,需要简单的方式,今天方成分享给你 前言 故事 ...
- Tensorflow和pytorch安装(windows安装)
一. Tensorflow安装 1. Tensorflow介绍 Tensorflow是广泛使用的实现机器学习以及其它涉及大量数学运算的算法库之一.Tensorflow由Google开发,是GitHub ...
- CentOS7重置密码
#在vmlinuz段最后添加rd.break Ctrl+X启动 rd.break #在linux16/linux/linuxefi所在参数行尾添加以下内容 init=/bin/sh #此时,可使用mo ...
- cesium1.63.1api版本贴地贴模型量算工具效果(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材.不少 ...
- Android中使用Canvas和Paint绘制一个安卓机器人
场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到ac ...
- MySQL锁与事务隔离级别
一.概述 1.锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.IO等)的争用以外,数据也是一种供需要用户共享的资源.如何保证数据并发访 ...
- github无法访问的解决实践
无废话版: ----------------------------- 1.复制下面内容,添加到hosts文件里(C:\Windows\System32\drivers\etc)不能修改的话,则把文件 ...
- Linux服务器被入侵后的处理过程(转发阿良)
Linux服务器被入侵后的处理过程 突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 ...
- Badusb 简易制作
Badusb easy_make 0x00 basic knowledge and equip arduino IDE download address: https://www.arduino.cc ...