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类的构造器时,仅仅是在 ...
随机推荐
- chkcongfig 命令
chkconfig 命令主要用来 更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig ...
- ps查看资源消耗
- nCompass-网络流量基础知识
nCompass-网络流量基础知识 1. 流量分析基础知识 1.1 常见的流量分析方式: SNMP: 网管平台通过主动式获取设备接口流量信息. Flow:网络设备将穿越的数据流信息精简压缩打包. ...
- android手机拍照旋转的问题
android开发中,遇到过手机拍照,明明是竖着拍的,显示的结果却是横这的,困扰了很久,找了很久找了一种解决方法: ExifInterface exifInterface = new ExifInte ...
- linux中vim使用技巧
一.导入文件内容 :r 解释 导入文件 示例 编辑模式下 # 将/tmp/test.txt内容导入到光标所在的位置的下一行 :r /tmp/test.txt :! 解释 在编辑文件时,执行系统命令 示 ...
- UWP通过机器学习加载ONNX进行表情识别
首先我们先来说说这个ONNX ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型.它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互. ...
- Vue.js 起步
通过实例来看下 Vue 构造器中需要哪些内容 测试时这段代码我直接写在index.html中 <!DOCTYPE html> <html> <head> <m ...
- Spring Boot从入门到精通(一)搭建第一个Spring Boot程序
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...
- matlab中的输出显示函数
matlab中的输出显示函数 在matlab中使用的显示函数有disp.sprintf.fprintf比较常用.下面来介绍一下他们的用法. 1.disp()函数: disp(x)主要是用来输出变量x的 ...
- PHP0020:PHP 单文件上传 多文件上传