IO学习记录

   刚开始的时候不懂得IO的概念,觉得很抽象,通过进一步的了解,我学会了对文件的读写,整形、字符、字节如何转换,还完成了一个小的项目:文件搜索器,现在还不完善,相信以后会做的更好。

    下面看下我的结果

   

下面是搜索后的结果,有待改善微笑


下面是代码:



package com.huaxin.br;


import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
//文件搜索器
public class Test {
JTextArea ar=new JTextArea(27,27);
JTextField  file_02=new JTextField(10);
JTextField file_04=new JTextField(5);
JTextField file_03=new JTextField(5);
private  int fileCount=0;
private  int directorCount=0;
public void test(){
//界面的属性
JFrame f1=new JFrame();
f1.setTitle("搜索");
f1.setSize(500, 500);
f1.setLocation(100, 100);
f1.setLayout(new FlowLayout());
     //创建组件
JLabel label_01=new JLabel("路径");
final JTextField file_01=new JTextField(20);

JLabel label_02=new JLabel("关键字");
final JTextField file_02=new JTextField(10);

JLabel label_03=new JLabel("文件夹数量");
//JTextField file_03=new JTextField(5);

JLabel label_04=new JLabel("文件数量");
//JTextField file_04=new JTextField(5);

JButton btn=new JButton("搜索");
//
Dimension demion=new Dimension(48,27);
ar.setPreferredSize(demion);
//将控件添加到窗体上
//f1.add(ar);
//f1.add(btn);
f1.add(label_01);
f1.add(file_01);

f1.add(label_02);
f1.add(file_02);

f1.add(label_03);
f1.add(file_03);

f1.add(label_04);
f1.add(file_04);

f1.add(btn);
f1.add(ar);
//btn.addActionListener();
f1.setVisible(true);

f1.setDefaultCloseOperation(3);
//添加事件监听
btn.addActionListener(
new  ActionListener(){


@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String filename =file_01.getText();
String key=file_02.getText();
   printFileName(filename,key);
   int i=file_03.getColumns();
   
   i= fileCount;
}
}
);

}


public static void main(String [] args){

// File file =new File("E:\\数学");//创建File对象
//File file =new File(String path);
   Test t=new Test();
   t.test();
}
// 遍历指定目录下的所有文件的文件名
public void printFileName(String path,String key){
File file =new File(path);
if(file.exists()){//判断File是否是文件
if(file.isFile()){//如果是文件
fileCount++;
System.out.println(fileCount);
// ar.append(file.getAbsolutePath())\r\nc;''
ar.append(file.getAbsolutePath()+"\r\n");
//file_03.getText()=fileCount;
ar.append(file.getAbsolutePath().contains(key)+"\r\n");
//ar.append(str)

}
else if(file.isDirectory()){//是文件夹
directorCount++;
System.out.println(directorCount);
File[] files =file.listFiles();

for(int i=0;i<files.length;i++){
File f=files[i];
printFileName(f.getAbsolutePath(), key);

}
}
else {
System.out.println ("路径有误!");
}
}
file_04.setText(directorCount+"");
file_03.setText(fileCount+"");
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值