sourcecode

File.Separator를 사용해야 하는 시기와 File.pathSeparator를 사용해야 하는 시점은 언제입니까?

copyscript 2022. 8. 15. 21:29
반응형

File.Separator를 사용해야 하는 시기와 File.pathSeparator를 사용해야 하는 시점은 언제입니까?

에서Fileclass에는 2개의 문자열과 가 있습니다.

뭐가 다른데?어떤 경우에 하나를 다른 것 위에 쓰면 좋을까요?

만약 당신이 말한다면File.separator그리고.File.pathSeparator그 후, 다음과 같이 합니다.

  • File.pathSeparator파일 경로 목록에서 개별 파일 경로를 구분하기 위해 사용합니다.PATH 환경변수인 윈도를 고려합니다.를 사용합니다.;Windows에서처럼 파일 경로를 분리하다File.pathSeparator되지요;.

  • File.separator어느 쪽인가/또는\특정 파일에 대한 경로를 분할하는 데 사용됩니다.예를 들어 Windows에서는\또는C:\Documents\Test

java.io.Fileclass에는 4개의 정적 구분 변수가 포함되어 있습니다.이해를 돕기 위해 몇 가지 코드를 사용하여 이해합시다.

  1. separator: 플랫폼에 의존하는 기본 이름 구분 문자 String.윈도의 경우 '\'이고 unix의 경우 '/'입니다.
  2. separator Char: separator와 동일하지만 char입니다.
  3. pathSeparator: path-separator 플랫폼 의존 변수.예를 들어 UNIX 시스템에서는 ':'로 구분된 경로의 PATH 또는 CLASSPATH 변수 목록과 Windows 시스템에서는 ';'로 구분됩니다.
  4. pathSeparatorChar: pathSeparator와 동일하지만 char입니다.

이 모든 것은 최종 변수이며 시스템에 의존합니다.

여기 이러한 구분 변수를 인쇄하기 위한 Java 프로그램이 있습니다.FileSeparator.java

import java.io.File;

public class FileSeparator {

    public static void main(String[] args) {
        System.out.println("File.separator = "+File.separator);
        System.out.println("File.separatorChar = "+File.separatorChar);
        System.out.println("File.pathSeparator = "+File.pathSeparator);
        System.out.println("File.pathSeparatorChar = "+File.pathSeparatorChar);
    }

}

UNIX 시스템에서 위의 프로그램 출력:

File.separator = /
File.separatorChar = /
File.pathSeparator = :
File.pathSeparatorChar = :

Windows 시스템의 프로그램 출력:

File.separator = \
File.separatorChar = \
File.pathSeparator = ;
File.pathSeparatorChar = ;

프로그램 플랫폼을 독립시키려면 항상 이러한 구분 기호를 사용하여 파일 경로를 만들거나 PATH, CLASSPATH 등의 시스템 변수를 읽어야 합니다.

다음은 구분자를 올바르게 사용하는 방법을 보여 주는 코드 조각입니다.

//no platform independence, good for Unix systems
File fileUnsafe = new File("tmp/abc.txt");
//platform independent and safe to use across Unix and Windows
File fileSafe = new File("tmp"+File.separator+"abc.txt");

파일 경로를 작성할 때 구분 기호를 사용합니다.따라서 unix에서는 세퍼레이터는/unix 패스를 구축하려면/var/temp이렇게 하면 돼요.

String path = File.separator + "var"+ File.separator + "temp"

를 사용합니다.pathSeparator클래스 경로와 같은 파일 목록을 처리할 때 사용합니다.예를 들어, 앱이 jar 목록을 인수로 받아들인 경우 unix에서 해당 목록을 포맷하는 표준 방법은 다음과 같습니다./path/to/jar1.jar:/path/to/jar2.jar:/path/to/jar3.jar

그래서:파일 이런 일을 할까 목록을 마련한다면.

String listOfFiles = ...
String[] filePaths = listOfFiles.split(File.pathSeparator);

언급URL:https://stackoverflow.com/questions/5971964/when-should-i-use-file-separator-and-when-file-pathseparator

반응형