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类的构造器时,仅仅是在 ...
随机推荐
- 清晰架构(Clean Architecture)的Go微服务
我用Go和gRPC创建了一个微服务项目,并试图找出最好的程序结构,它可以作为我其他项目的模板.我还将程序设计和编程的最佳实践应用于Go Microservice程序,例如清晰架构(Clean Arch ...
- Go语言实现:【剑指offer】栈的压入、弹出序列
该题目来源于牛客网<剑指offer>专题. 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5 ...
- 【题解】战争系列-截获密文I
给你一个最短代码: #include <iostream> #include <string> int main(){ std::string str; std::cin &g ...
- cmake处理多源文件目录的方法(转)
cmake处理源代码分布在不同目录中的情况也很简单,现在假设我们的源代码分布情况如下: 源代码的分布情况 其中src目录下的文件要编译成一个链接库 第一步,项目主目录中的CMakelist.txt 在 ...
- 03(a)多元有约束优化问题(准备知识)
转成Latex上传太麻烦,直接截图上传了,需要电子版的可以关注一下,微信公众号:“实干小海豹”,回复:”优化01a“,”优化01b“,”优化02a“,”优化02b“,”优化02c“,”优化02c“.. ...
- 01-Maven
今日知识 1. Maven 2. 依赖管理 2. 项目构建 Maven 1. Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 2. Ma ...
- Shell脚本 硬盘监控
用shell 写了一个硬盘监控的小程序 #!/bin/bash MAX=95 EMAIL=zonghua@iyunshu.com PART=sda1 IP=`ifconfig |grep -w ...
- vsphere 客户机 使用光驱引导启动
vsphere上的虚拟服务器 需要用光盘引导启动,用pe系统做维护. 第一部:光盘ios文件 存放的位置 可以直接放光盘 或者将ios文件放到数据存储中 或者将ios文件放到实体主机的存储内 ...
- computed setter
computed setter computed 属性默认只有 getter ,不过在需要时你也可以提供一个 setter : 实例 4 var vm = new Vue({ el: '#app' ...
- nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!
前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...