arraylist-下面的程序是在文本框输入文件夹和关键字查找文件路径并输出在面板上,但是为什么只能输出一行

问题描述

下面的程序是在文本框输入文件夹和关键字查找文件路径并输出在面板上,但是为什么只能输出一行

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Queue;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import static java.awt.BorderLayout.*;
public class FileSearcher
{
public static void findFiles(String baseDirName, String targetFileName, List fileList)
{
String tempName=null;
File baseDir=new File(baseDirName);
if(!baseDir.exists()||!baseDir.isDirectory())
{
System.out.println("文件查找失败"+baseDirName+"不是一个目录");
}
else
{
String[] filelist=baseDir.list();
for(int i=0;i
{
File readfile=new File(baseDirName+"\"+filelist[i]);
if(!readfile.isDirectory())
{
tempName=readfile.getName();
if(FileSearcher.wildcardMatch(targetFileName, tempName))
{
fileList.add(readfile.getAbsoluteFile());
}
}
else if(readfile.isDirectory())
{
findFiles(baseDirName+"\"+filelist[i],targetFileName,fileList);
}
}
}
}
private static boolean wildcardMatch(String pattern ,String str)
{
int patternLength=pattern.length();
int strLength=str.length();
int strIndex=0;
char ch;
for(int patternIndex=0;patternIndex
{
ch=pattern.charAt(patternIndex);
if(ch=='*')
{
while(strIndex
{
if(wildcardMatch(pattern.substring(patternIndex + 1),str.substring(strIndex)))
{
return true;
}
strIndex++;
}
}
else if(ch=='?')
{
strIndex++;
if(strIndex>strLength)
{
return false;
}
}
else
{
if(strIndex>=strLength||(ch!=str.charAt(strIndex)))
{
return false;
}
strIndex++;
}
}
return (strIndex==strLength);
}
public static void main(String[] args)
{
JFrame jf=new JFrame();
JPanel jp=new JPanel();
final JTextArea jta=new JTextArea(20,30);
final JTextField jtf=new JTextField(10);
final JTextField jtf1=new JTextField(10);
JButton jb=new JButton("搜索");
jp.add(jtf);
jp.add(jtf1);
jp.add(jb);
jf.setLayout(new BorderLayout());
jf.add(jta,SOUTH);
jf.add(jp,NORTH);
jf.pack();
jf.setVisible(true);
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String baseDIR=jtf.getText();
String fileName=jtf1.getText();
List resultList=new ArrayList();
FileSearcher.findFiles(baseDIR,fileName,resultList);
if(resultList.size()==0)
{
System.out.println("worng");
}
else
{
for(int i=0;i<resultList.size();i++)
{
StringBuffer sb=new StringBuffer();
sb.append(resultList.get(i));
jta.setText(sb.toString());
System.out.println(resultList.get(i));

                }
            }
        }
    });
}

}

解决方案

 for(int i=0;i<resultList.size();i++)
{
StringBuffer sb=new StringBuffer();
sb.append(resultList.get(i));
jta.setText(sb.toString());
System.out.println(resultList.get(i));
}
->
StringBuffer sb=new StringBuffer();
for(int i=0;i<resultList.size();i++)
{
sb.append(resultList.get(i));
System.out.println(resultList.get(i));
}
jta.setText(sb.toString());
时间: 2024-09-06 12:07:01

arraylist-下面的程序是在文本框输入文件夹和关键字查找文件路径并输出在面板上,但是为什么只能输出一行的相关文章

获取看见的内容-c#的form程序如何获取文本框中所能看到的内容

问题描述 c#的form程序如何获取文本框中所能看到的内容 c#的form程序如何获取文本框中所能看到的内容,只是看到的内容,不是文本框所有的内容?

C#程序A向程序B的文本框输入内容

问题描述 程序A上面的按钮点击就会在程序B的文本框上显示程序A按钮上面的文字.简单的说就是类似于软键盘了,应该如何实现这个功能? 解决方案 解决方案二:A与B是两个独立的程序的话,方法有很多,定义一块公共的区域,一个写,一个实时读,就能做到你说的效果.或者,A与B建立一个隐形的连接,A的相关操作直接发送给B,然后B对数据进行处理现实在指定的区域.解决方案三:search:进程间通信?解决方案四:得看C/S还是B/S,毕竟有权限的区别解决方案五:lz想要的是两个窗体间传递值的效果么直接new一个出

急急急求解决-如何将textbox文本框的内容添加到XML文件中去

问题描述 如何将textbox文本框的内容添加到XML文件中去 如何将textbox文本框的内容添加到XML文件中去 解决方案 最简单的 System.IO.File.WriteAllText("c:xxx1.xml", textBox1.Text);

stuts2如果文本框为空就会弹出请填写此字段,但在ie上就没弹出呢

问题描述 stuts2如果文本框为空就会弹出请填写此字段,但在ie上就没弹出呢,不要说ie不兼容,struts2那么强大,怎么会不兼容,我看过的一些网站在ie上也能实现,求大神解惑!!这是在ie上的这是不是ie浏览器上的: 解决方案 解决方案二:你这个验证是struts的验证还是jscsss实现的.其他浏览器可以ie不行估计是js写法不兼容.解决方案三:引用1楼rui888的回复: 你这个验证是struts的验证还是jscsss实现的.其他浏览器可以ie不行估计是js写法不兼容. 请填写此字段框

VB.NET (VS2003)开发WINCE应用程序无法将文本框内容转换为数字类型 ,wince4.2

问题描述 1.Ptsgcs=Val(Me.ptsgc.Text)2.Ptsgcs=Val(Me.ptsgc.Text.ToString)3.Ptsgcs=Val(CDbl(Me.ptsgc.Text.ToString))其中,ptsgcs为模块中定义的公共变量double类型me.ptsgc为textbox文本框以上三种处理方式在wince4.2下运行出错,请高手指点,谢谢! 解决方案 解决方案二:在wince下提示:Typeloadexception无法从程序集microsoft.visual

求助:C#里对word文档进行文本替换无法替换文本框里的所有文本

问题描述 以下是我写的一个程序,目的是通过替换一个word模版内的文本框里的文本然后另存为一个新的文档,可是循环替换的时候,只有少部分替换成功,请高手指点一下这是什么回事.因为不能上传附件,我就直接把代码贴出来,界面很简单,一个form和一个按钮,另外,word模版文件要自己在电脑上建一个就行,我使用的2003的格式.也可以留下邮箱我直接发一个压缩包给你们.就剩这几分了.需要引用Microsoft.Office.Interop.WordusingSystem;usingSystem.Collec

Flash MX 精彩文本篇(滚动文本框和动态文本)

动态|文本框 滚动文本框 Component为FlashMX新增特性.引进了组件(Component)的概念后,可定制常见的程序界面,包括滚动条.超文本域.输入按钮.单选按钮.多选按钮.列表和复选框.这些大大加速了开发进度.现在来看看如何用组件定制滚动文本框. 1.选择Window->Components,出现属性面板.(如图9) 其中的ScrollBar就是我们要用到的组件. 2.拖动一个组件ScrollBar到场景上.如果让其和文本框吸附在一起的话,会自动变大和文本框一样长.吸附的方法是点击

用SendMessage滚动文本框控件的内容

在Visual Basic中,可以通过程序使文本框控件中的内容进行滚动,而不用等待用户单击滚动条控件.通过使用Windows API的SendMe ssage函数,可以将一个或多个滚动消息发送给系统,由此来实现上述 功能. 在文本框控件中滚动 在下面的样例程序中,连接到Left命令按钮上的代码将文本框中 的内容向左移动一个字符的位置.当用户单击了文本框控件上的水平 滚动条时,该消息被发送到窗口.然而,在这个程序中,是在用户单击 命令按钮时发送该消息. 要控制滚动行为的方向,必须告诉SendMes

.NET WinFrom中给文本框添加拖放事件的代码_实用技巧

在开发.NET WinForm程序时,有时候我们希望窗体上的文本框能接受鼠标拖放事件,比如允许将文件直接拖放到文本框中以直接获取到文件的本地路径,或者将选取的字符串直接拖放到文本框中等等.要实现这个功能其实很简单,代码如下. 1. 将文本框的属性AllowDrop设置成True 2. 给文本框添加DragEnter事件 复制代码 代码如下: private void textBox1_DragEnter(object sender, DragEventArgs e) { if (e.Data.G