자바 의 파일 읽 기 및 저장 통계 폴 더 및 파일 개수
4638 단어 자바
사용 한 클래스: File
통계 적 방법
FileUnit.java
import java.io.File;
public class FileUnit {
static int filecount=0;
static int menucount=0;
static int size=0;
static long time=0;
/**
*
* @param path
* @return
*/
public static void CountFile(String Path){
File file=new File(Path);
if(!file.exists()){
System.out.println(" ");
return ;
}
File []fs=file.listFiles();// 。
if (fs==null){
//file ,
size=(int) file.length();
time = file.lastModified();
filecount=1;
System.out.println(file.getAbsolutePath()+" "+time );
return ;
}
// Path
for(int i=0;i<fs.length;i++){
File f=fs[i];
if(f.isFile()){
filecount++;
size += (int) f.length();
time = file.lastModified();
//
//f.setReadOnly();
}else if(f.isDirectory()){
//
menucount++;
System.out.println(f.getAbsolutePath());
CountFile(f.getAbsolutePath());
}
}
}
}
창:
UI.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class UI extends JFrame implements ActionListener{
JLabel jInclude=new JLabel(" :\t0 ,0 ");
JLabel jclass=new JLabel(" :\t ");
JLabel jSize=new JLabel(" :\t0KB(0 )");
JLabel jTime=new JLabel(" :\t2014 5 21 ,18:36:01");//
JLabel jPath=new JLabel(" :\t");
JLabel jProperties=new JLabel(" : ? ");
JButton choose = new JButton(" ");
FileUnit f1=new FileUnit();
JFileChooser jfc = new JFileChooser("E:\\");
static char hidden=' ';
public static void main(String[] args) {
UI ui=new UI();
// String s="E:\\hb\\Test";
// f1.CountFile(s);
ui.init();
ui.initWighet();
ui.setVisible(true);
}
public void init(){
this.setSize(300,500);
this.setDefaultCloseOperation(3);
this.setTitle(" ");
this.setLayout(null);
}
public void initWighet(){
jclass.setBounds(20, 20, 200, 20);
jPath.setBounds(20, 50, 200, 20);
jSize.setBounds(20, 80, 200, 20);
jInclude.setBounds(20, 110, 200, 20);
jTime.setBounds(20, 140, 300, 20);
jProperties.setBounds(20, 180, 200, 40);
choose.setBounds(20, 300, 100, 40);
choose.addActionListener(this);
this.add(jclass);
this.add(jPath);
this.add(jSize);
this.add(jInclude);
this.add(jTime);
this.add(jProperties);
this.add(choose);
}
public void Test(String s){
File f =new File(s);
f1.CountFile(s);
if(f.isHidden()){
hidden=' ';
}else{
hidden=' ';
}
jPath.setText(s);
jSize.setText(" :\t"+FileUnit.size/1024+"KB("+FileUnit.size+" )");
jProperties.setText(" : ? "+hidden);
jInclude.setText(" :\t"+FileUnit.filecount+" ,"+FileUnit.menucount+" ");
if(FileUnit.menucount>0){
jclass.setText(" :\t ");
}
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source.equals(choose)){
int state = jfc.showOpenDialog(this);
if (state == 0) {//
String str=jfc.getSelectedFile().getAbsolutePath();
System.out.println(str);
Test(str);//JFileChooser .
}
}
}
}
질문
1. 마지막 수정 시간 은 file. lastModified () 를 사용 합 니 다.롱 으로 되 돌아 갑 니 다. 시간 형식 으로 어떻게 바 꿔 야 할 지 모 르 겠 습 니 다.
2. JFileChooser 로 폴 더 를 선택 할 수 없습니다. 프로그램 에서 경 로 를 정의 하면 폴 더 의 개수 와 파일 의 총 크기 를 집계 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.