JAVA实验5 流(仅供借鉴)

上传人:ni****g 文档编号:511563932 上传时间:2023-11-28 格式:DOC 页数:14 大小:75.50KB
返回 下载 相关 举报
JAVA实验5 流(仅供借鉴)_第1页
第1页 / 共14页
JAVA实验5 流(仅供借鉴)_第2页
第2页 / 共14页
JAVA实验5 流(仅供借鉴)_第3页
第3页 / 共14页
JAVA实验5 流(仅供借鉴)_第4页
第4页 / 共14页
JAVA实验5 流(仅供借鉴)_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《JAVA实验5 流(仅供借鉴)》由会员分享,可在线阅读,更多相关《JAVA实验5 流(仅供借鉴)(14页珍藏版)》请在金锄头文库上搜索。

1、实验5 流1. 编写程序,要求:用户在键盘每输入一行文本,程序将这段文本显示在控制台中。当用户输入的一行文本是“exit”(不区分大小写)时,程序将用户所有输入的文本都写入到文件log.txt中,并退出。(要求:控制台输入通过流封装System.in获取,不要使用Scanner)package shiyanwu1;import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; public class test1 / 获得系统换行符 private static final

2、 String LINE_SEP = System.getProperty(line.separator); public static void main(String args) throws Exception try (BufferedReader in = new BufferedReader( new InputStreamReader(System.in) String line; StringBuilder sBuilder = new StringBuilder(); while (true) line = in.readLine(); / 读入一行字符串 if (line

3、= null | exit.equals(line)|EXIT.equals(line) break; sBuilder.append(line).append(LINE_SEP); / 将 sBuilder 中的数据写入 log.txt try (PrintWriter writer = new PrintWriter(D:/java examples/my java/src/shiyanwu1/show.txt) writer.print(sBuilder.toString(); 2. 查看File类的API文档,使用该类实现一个类FileList,它提供两个静态方法:1)printCon

4、tentsInOneDirectory:能够将输入参数path所指定的本地磁盘路径下的所有目录和文件的名称(指明是目录还是文件,格式见下图)打印出来;2)readFileAndDirectory:能够将输入参数path所指定的本地磁盘路径下的所有目录(包含子目录)和文件的名称(指明是目录还是文件,格式见下图)以层次化结构打印出来。例如,某个目录下面有子目录a和文件Teacher.class,目录a下面有子目录b(下面有文件Teacher.java)和c(下面有文件Test.java和Test.class)以及文件1.txt,将该目录对应的路径作为输入参数调用该方法,程序的输出如下图所示。pac

5、kage shiyanwu2;import java.io.File; public class test2 Public static void printContentsInOneDirectory(String path) File file = new File(path); if (!file.exists() throw new RuntimeException(String.format(文件 %s 不存在!, path); File childFiles = file.listFiles(); for (File childFile : childFiles) if (chil

6、dFile.isFile() System.out.format(文件 %sn, childFile.getName(); else System.out.format(目录 %sn, childFile.getName(); /* * * param path 目录路径 * param indent 当前缩进(即输出 - ) 的个数 */ public static void readFileAndDirectory(String path, int indent) File file = new File(path); if (!file.exists() throw new Runtim

7、eException(String.format(文件 %s 不存在!, path); File childFiles = file.listFiles(); for (File childFile : childFiles) for (int i = 0; i indent; +i) System.out.print(-); if (childFile.isFile() System.out.format(文件 %sn, childFile.getName(); else System.out.format(目录 %sn, childFile.getName(); readFileAndDi

8、rectory(childFile.getAbsolutePath(), indent + 2); public static void main(String args) throws Exception System.out.println(测试 printContentsInOneDirectory 方法:); printContentsInOneDirectory(some_dir); System.out.println(n测试 readFileAndDirectory 方法:); readFileAndDirectory(some_dir, 0); 3. 假设某个餐馆平时使用:1)

9、文本文件(orders.txt)记录顾客的点菜信息,每桌顾客的点菜记录占一行。每行顾客点菜信息的记录格式是“菜名:数量,菜名:数量,菜名:数量”。例如:“烤鸭:1,土豆丝:2,烤鱼:1”。2)文本文件(dishes.txt)记录每种菜的具体价格,每种菜及其价格占一行,记录格式为“菜名:价格“。例如:“烤鸭:169”。编写一个程序,能够计算出orders.txt中所有顾客消费的总价格。package shiyanwu3;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import j

10、ava.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class order public static void main(String args) order first = new order();List orderDatas = first.readFile(D:/java examples/my java/src/shiyanwu3

11、/orders.txt);List dishesDatas = first.readFile(D:/java examples/my java/src/shiyanwu3/dishes.txt);Map orderDetail = first.resolveOrderDatas(orderDatas);Map dishesDetail = firs.resolveOrderDatas(dishesDatas);String dishesName = null;int dishesCount = 0;int totalPrice = 0;for (Map.Entry e : orderDetai

12、l.entrySet() dishesName = e.getKey();dishesCount = e.getValue();totalPrice += dishesDetail.get(dishesName) * dishesCount;System.err.println(dishesName+总消费为:+totalPrice);private List readFile(String fileName) if (fileName != null & !.equals(fileName) File file = null;file = new File(fileName);if (file.exists() List datas = new ArrayListStrin

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号