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类的构造器时,仅仅是在 ...
随机推荐
- 实验楼-python3简明教程笔记
#!/usr/bin/env python3 days = int(input("Enter days: ")) print("Months = {} Days = {} ...
- [redis读书笔记] 第一部分 数据结构与对象 整数集合
typedef struct intset { // 编码方式 uint32_t encoding; // 集合包含的元素数量 uint32_t length; // 保存元素的数组 int8_t c ...
- 十篇笔记走向Python测试开发之路四(字典)
字典 字典(dict)是Python的一种内置的数据结构.在其他语言中也称为map,使用键-值(key-value)存储,可以通过查找某个特定的词语(键 key),从而找到他的定义(值 value) ...
- Hapi+MySql项目实战数据库操作(四)
数据库访问 下面以Node的ORM框架Sequelize来操作数据库,Mysql为例. 配置数据库连接信息config/db_config.js: //db_config.js module.expo ...
- linux的那些事-时间 时区
时间表示: 用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系 ...
- Linux 配置 DNS
这里不讨论如何在linux上搭建一台DNS服务器: 这里讨论的是 配置 linux系统,让其能够解析域名,使用户可以流畅使用Internet 先了解几个文件,位于/etc目录下的有:hosts,hos ...
- 我不知道的js(一)作用域与闭包
作用域与闭包 作用域 什么是作用域 作用域就是一套规则,它负责解决(1)将变量存在哪儿?(2)如何找到变量?的问题 作用域工作的前提 谁赋予了作用域的权利?--js引擎 传统编译语言编译的过程 分词/ ...
- dict的使用
Python字典是可变类型数据,可以存储任意对象,如字符串,数字,元组,列表等. 字典的创键 字典有键key和值value组成,使用键值对链接:,字典也称为关联数组或哈希表. dict_person ...
- 异常 lock buffer failed for format 0x23
02-11 21:21:45.669625 14804 14815 W Monkey : // java.lang.RuntimeException: lock buffer failed for f ...
- Python——捕获异常
一.什么是异常 """异常:错误,bug处理异常:尝试执行某句可能出现异常的语句, 若出错则用正确的代码去替代. try: 可能发生错误的代码except: 如果出现异常 ...