总的来说,其作用就是统计该文件中包含word关键字的个数。
成都创新互联专注于宿迁网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宿迁营销型网站建设,宿迁网站制作、宿迁网页设计、宿迁网站官网定制、微信小程序服务,打造宿迁网络公司原创品牌,更为您提供宿迁网站排名全网营销落地服务。
实际运行情况,拟定关键字word就是“word”,1.txt中的内容为:
输出结果:
该程序的作用:进到指定目录,输出这个目录以及子目录下所有文件的文件名,通过\t的行数来区别层级。
为了测试,我建立了这么一些文件:
D:\test
D:\test\test1
D:\test\test2
D:\test\test3.txt
D:\test\test1\t1.txt
D:\test\test1\t2.txt
D:\test\test2\t3.txt
其中,根路径为D:\test,其level为0;
level1中包含文件夹test1、文件夹test2和文件test3;
level2中包含文件t1.txt(属于文件夹test1)、文件t2.txt(属于文件夹test1)、文件t3.txt(属于文件夹test2)。
则该程序的输出为:
其中:
t1.txt前有1行\t,说明t1.txt位于第2层级
t2.txt前有1行\t,说明t2.txt位于第2层级
t3.txt前有1行\t,说明t3.txt位于第2层级
test3.txt前没有\t,说明test3.txt位于第1层级
符合预期。
另外为了再明显一些,我给输出再加点东西,这样会不会更明显一些:
其中,t1.txt位于的大括号中有一行\t和它的名字,表明了它确实在第2层级中,t2、t3同t1;test3.txt位于的大括号中只有它的名字表明了它确实在第1层级中
【俊狼猎英】团队为您解答~
想法是没有错的,错在28~31行的else
要在内层for循环遍历完字母表之后才能判断输入是否正确,而不是检验一个字母就去做判断
按照上面的代码,比如输入b,检验完不等于'a'或'A',马上返回输入错误
要改的话可以这样
从24行开始
flag = false;
for (int j = 1; j = big.length; j++){
if (chr == small[j]){
System.out.print(big[j]);
flag = true;
}
else if(chr == big[j]){
System.out.print(small[j]);
flag = true;
}
}
if(!flag){
System.out.println("重新输入");
}
百度没法缩进,你粘出去缩进一下应该更清楚
不过这个逻辑无论是代码长度还是执行效率显然比下面要差多了
放eclipse里就会有红线提示,类名和文件名应该一致
你说的不会报错不知道是什么情况,默认设置是会报错的
import java.util.Arrays;
import java.util.Comparator;
public class A {
public static void main(String[] args) {
String[] ls={"A","B","C","V","G","H","K"};
final String[] ses={"B","G","K"};
Arrays.sort(ls, new ComparatorString(){
public int compare(String str1, String str2) {
if(str1.equals(str2)){
return 0;
}
if(str1.equals(ses[0])){
return -1;
}else if(str1.equals(ses[1])){
if(str2.equals(ses[0])){
return 1;
}
return -1;
}else if(str1.equals(ses[2])){
if(str2.equals(ses[0]) || str2.equals(ses[1])){
return 1;
}
return -1;
}else if(str2.equals(ses[0]) || str2.equals(ses[1]) || str2.equals(ses[2])){
return 1;
}
return 0;
}
});
for(String item: ls){
System.out.println(item);
}
}
}
是否可以解决您的问题?
public static void main(String[] args) {
try{
File file = new File("D:\\123.txt");
FileInputStream inputStream = new FileInputStream(file);
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(inputStream, "GBK"));
ListString threadColumns = new ArrayListString();
while(true){
String line = bufferReader.readLine();
if(line == null || "".equals(line))
break;
else{
String threadColum = line.split("\t")[2].toString().substring(2,9);
threadColumns.add(threadColum);
}
}
bufferReader.close();
inputStream.close();
Collections.sort(threadColumns);
File outFile = new File("D:\\456.txt");
FileWriter fw = new FileWriter(outFile);
BufferedWriter writer = new BufferedWriter(fw);
for(String threadColum : threadColumns){
writer.write(threadColum);
writer.newLine();//换行
}
writer.close();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}