파일 작업 -- File

5823 단어 Java 기반


파일의 개념을 쉽게 대표하고 파일에 대한 기본적인 조작을 저장하기 위해java에서io 패키지에서 파일 클래스를 전문적으로 설계했습니다.
File 클래스에는 파일 작업의 대부분과 기능 방법이 포함되어 있습니다. 이 클래스의 대상은 구체적인 파일이나 폴더를 대표할 수 있기 때문에 이전에 어떤 사람들은 이 클래스의 클래스 이름을 FilePath로 수정하는 것을 제안했습니다. 왜냐하면 이 클래스는 하나의 폴더를 대표할 수도 있고 더 정확히 말하면 하나의 파일 경로를 대표할 수도 있기 때문입니다.
다음은 File 클래스의 기본 사용에 대해 설명합니다.
1. File 객체는 파일 경로를 나타냅니다.
File 클래스의 객체는 특정 파일 경로를 나타낼 수 있으며 실제로 나타낼 때는 절대 경로를 사용하거나 상대 경로를 사용할 수 있습니다.
다음은 작성된 파일 객체의 예입니다.
                   public File(String pathname)
이 예제에서는 파일 경로를 사용하여 File 클래스의 객체를 나타냅니다. 예를 들어 다음과 같습니다.
                   File f1 = new File(“d:\\test\\1.txt”);
                   File f2 = new File(“1.txt”);
                  File f3 = new File(“e:\\abc”);
이곳의 f1과 f2 대상은 각각 하나의 파일을 대표하고 f1은 절대 경로이며 f2는 상대 경로이고 f3은 하나의 폴더를 대표하며 폴더도 파일 경로의 일종이다.
public File(String parent, String child)
또한 상위 경로와 하위 경로를 결합하여 다음과 같은 파일 경로를 나타낼 수 있습니다.
                                     File f4 = new File(“d:\\test\\”,”1.txt”);
이렇게 표시되는 파일 경로는 d:\test\1.txt.
2. File 클래스의 일반적인 방법
파일 클래스에는 파일 또는 폴더의 등록 정보를 쉽게 얻을 수 있는 여러 방법이 포함되어 있습니다. 다음은 일반적인 방법에 대해 설명합니다.
a, createNewFile 메서드
                                     public boolean createNewFile() throws IOException
이 방법의 역할은 지정한 파일을 만드는 것이다.이 방법은 파일만 만들 수 있고 폴더를 만들 수 없으며 파일 경로에 포함된 폴더가 있어야 합니다.
b. delect 방법
                                     public boolean delete()
이 방법은 현재 파일이나 폴더를 삭제하는 데 사용됩니다.폴더를 삭제한 경우 폴더가 비어 있어야 합니다.만약 비어 있지 않은 폴더를 삭제해야 한다면, 먼저 이 폴더 내부의 모든 파일과 폴더를 삭제한 다음에 삭제할 수 있다면, 이것은 일정한 논리 코드를 써서 실현해야 한다.
c.exists 방법
                                     public boolean exists()
이 방법은 현재 파일이나 폴더가 존재하는지 판단하는 데 사용됩니다.
d, getabsolutePath 방법
                                     public String getAbsolutePath()
이 방법은 현재 파일이나 폴더의 절대 경로를 얻는 데 사용됩니다.예: c:\test\1.t는 c:\test\1로 반환됩니다.t.
e, getName 메서드
                                     public String getName()
이 방법은 현재 파일이나 폴더의 이름을 얻는 데 사용됩니다.예: c:\test\1.t, 를 반환합니다.t.
f, getParent 메서드
                                     public String getParent()
이 방법의 역할은 현재 경로의 부모 경로를 얻는 것이다.예: c:\test\1.t는 c:\test를 반환합니다.
g, isDirectory 방법
                                     public boolean isDirectory()
이 메서드는 현재 File 객체가 디렉토리인지 여부를 판단하는 데 사용됩니다.
h, isFile 메서드
                                     public boolean isFile()
이 메서드는 현재 File 객체가 파일인지 여부를 판단하는 데 사용됩니다.
방법
                                     public long length()
이 방법의 역할은 파일이 저장될 때 차지하는 바이트 수를 되돌려 주는 것이다.이 수치는 파일이 저장할 때 차지하는 공간 수가 아니라 파일의 실제 크기를 얻는다.
j,list 방법
                                     public String[] list()
이 방법의 역할은 현재 폴더 아래의 모든 파일 이름과 폴더 이름을 되돌려주는 것이다.이 이름은 절대 경로가 아니라는 것을 설명합니다.
k, listFiles 메서드
                                     public File[] listFiles()
이 방법의 역할은 현재 폴더 아래의 모든 파일 대상을 되돌려주는 것이다.
l, mkdir 방법
                                     public boolean mkdir()
이 방법은 경로에 있는 다른 폴더를 만들지 않고 현재 파일 폴더를 만드는 데 사용됩니다.d디스크 아래에 테스트 폴더가 하나만 있다고 가정하면 d:\test\abc 폴더를 만들면 성공하고 d:\a\b 폴더를 만들면 d:\a 폴더가 존재하지 않기 때문에 만들 수 없습니다.생성이 성공하면true를 되돌려주고, 그렇지 않으면false를 되돌려줍니다.
m, mkdirs 방법
                                     public boolean mkdirs()
이 방법의 역할은 폴더를 만드는 것입니다. 현재 경로에 포함된 부모 디렉터리가 존재하지 않을 때도 자동으로 필요에 따라 만들 것입니다.
n, renameTo 메서드
                                     public boolean renameTo(File dest)
이 방법의 역할은 파일 이름을 수정하는 것이다.파일 이름을 수정할 때 파일 경로를 변경할 수 없습니다. 이 경로 아래에 이미 파일이 있으면 수정에 실패합니다.
o, setReadOnly 메서드
                                     public boolean setReadOnly()
이 방법은 현재 파일이나 폴더를 읽기 전용으로 설정하는 데 사용됩니다.

1、출력 1"".시작 파일

package day01;

import java.io.File;
import java.io.FileFilter;
/**
 * listFiles 
 * FileFilter 
 *  :
 * boolean accept(File f)
 *  
 * listFiles accept 
 * @author Administrator
 *
 */
public class FileDemo02 {

	public static void main(String[] args) {
		File dir=new File(".");
		if(dir.isDirectory()){
			// 
			FileFilter filter=new MyFilter();
			// 
			File[] subs=dir.listFiles(filter);
			for(File sub: subs){
				System.out.println(sub.getName());
			}
		}

	}
	

}
class MyFilter implements FileFilter{

	public boolean accept(File file) {
//		String name=file.getName();
//		return name.startsWith(".");
		return file.getName().startsWith(".");
		
	}
		
	}

2. 다중 디렉터리 아래의 파일 만들기

package day01;

import java.io.File;
import java.io.IOException;

/**
 *  
 * @author Administrator
 *
 */
public class FileDemo3 {

	public static void main(String[] args) throws IOException {
		  File file =new File(
				  "a"+File.separator+
				  "b"+File.separator+
				  "c"+File.separator+
				  "d"+File.separator+
				  "e"+File.separator+
				  "f"+File.separator+
				  "g"+File.separator+
				  "h.text"
				  );
		  /**
		   *  , 
		   *  , 
		   */
		  /**
		   * File getParentFile()
		   *  
		   */
		  File parent =file.getParentFile();
		  if(!parent.exists()){
			  parent.mkdirs();
		  }
		  if(!file.exists()){
			  file.createNewFile();
			  System.out.println(" !");
		  }
	}

}

3. 파일의 존재 여부를 판단하고 생성 파일이 존재하지 않는다.

File file=new File(path+filename);   
    if(!file.exists())   
    {   
        try {   
            file.createNewFile();   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
    }  

4. 폴더가 존재하는지 판단하고 폴더를 만들지 않음

    File file =new File(path+filename);   
    //    
    if  (!file .exists())     
    {     
        file .mkdir();   
    }     

좋은 웹페이지 즐겨찾기