-
大小: 620KB文件类型: .zip金币: 2下载: 0 次发布日期: 2022-10-08
- 语言: Java
- 标签: Introduction to Java Programming
资源简介
由 Luiz Arantes Sa编写,并不是随书配套的答案,可以作为参考

代码片段和文件信息
package AppUtils;
import java.io.*;
import java.util.PriorityQueue;
import java.util.Queue;
/**
* Created by Luiz Arantes Sa on 1/29/15.
*/
public class JavaStringRemover {
public static void main(String[] args) {
Queue queue = new PriorityQueue<>(1000);
queue.add(new File(“/Users/Kernel/Desktop/intro-to-java-10th-edition/src“));
int count = 0;
while (!queue.isEmpty()) {
File file = queue.poll();
if (file.isDirectory()) {
File[] listFiles = file.listFiles();
for (File listFile : listFiles) {
queue.add(listFile);
}
} else {
if (!file.getName().matches(“.*.java“))
continue;
try (BufferedReader in = new BufferedReader(new FileReader(file))) {
StringBuilder sb = new StringBuilder(100000);
char[] chars;
while ((in.read(chars = new char[(int)file.length()])) != -1)
sb.append(chars);
in.close();
System.out.println(file.getName());
String s = filterString(sb.toString());
try (BufferedWriter out = new BufferedWriter(new FileWriter(file false))) {
out.write(s.toCharArray());
}
count++;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static String filterString(String string) {
StringBuilder sb = new StringBuilder(string);
int startIndex = 0;
while ((startIndex = resetToNextState(sb startIndex)) != -1) {
if (states[IN_BLOCK])
startIndex = removeBlockComment(sb startIndex);
else if (states[IN_LINE])
startIndex = removeInlineComment(sb startIndex);
else if (states[IN_STRING])
startIndex = removeStringLiteral(sb startIndex);
else if (states[IN_CHAR])
startIndex = removeCharLiteral(sb startIndex);
}
return sb.toString();
}
private static int removeCharLiteral(StringBuilder sb int startIndex) {
return removeString(sb startIndex tokens[IN_CHAR] “\\“ EXCLUSIVE);
}
private static int removeStringLiteral(StringBuilder sb int startIndex) {
return removeString(sb startIndex tokens[IN_STRING] “\\“ EXCLUSIVE);
}
private static int removeInlineComment(StringBuilder sb int startIndex) {
return removeString(sb startIndex tokens[IN_LINE] ““ KEEP_END);
}
private static int removeBlockComment(StringBuilder sb int startIndex) {
return removeString(sb startIndex tokens[IN_BLOCK] ““ INCLUSIVE);
}
private static final int INCLUSIVE = 0;
private static final int EXCLUSIVE = 1;
private static fin
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-11-09 15:40 intro-to-java-10th-edition-master\
文件 110 2015-11-09 15:40 intro-to-java-10th-edition-master\.gitignore
文件 339 2015-11-09 15:40 intro-to-java-10th-edition-master\README.md
目录 0 2015-11-09 15:40 intro-to-java-10th-edition-master\src\
目录 0 2015-11-09 15:40 intro-to-java-10th-edition-master\src\AppUtils\
文件 6057 2015-11-09 15:40 intro-to-java-10th-edition-master\src\AppUtils\JavaStringRemover.java
目录 0 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\
文件 480 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_01.java
文件 370 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_02.java
文件 614 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_03.java
文件 526 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_04.java
文件 369 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_05.java
文件 439 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_06.java
文件 437 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_07.java
文件 568 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_08.java
文件 524 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_09.java
文件 634 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_10.java
文件 1222 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_11.java
文件 1176 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_12.java
文件 839 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_01\Exercise_13.java
目录 0 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\
文件 758 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exercise_01.java
文件 781 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exercise_02.java
文件 628 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exercise_03.java
文件 737 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exercise_04.java
文件 879 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exersice_05.java
文件 956 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exersice_06.java
文件 872 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exersice_07.java
文件 1515 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exersice_08.java
文件 579 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exersice_09.java
文件 777 2015-11-09 15:40 intro-to-java-10th-edition-master\src\Chapter_02\Exersice_10.java
............此处省略662个文件信息
- 上一篇:JavaWeb+黑马旅游网
- 下一篇:Java编程思想(第4版)带目录书签.zip
相关资源
- 详解docker镜像centos7配置Java运行环境
- java笔试题大全java笔试,面试笔试,逻
- Windows bat 设置Java环境变量
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- Android之自定义ToggleButton使用
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
评论
共有 条评论