Windows/Linux 에서 파일 읽 기와 쓰기
가장 징 그 러 운 문 제 는 windows 플랫폼 에서 파일 은 모두"\"로 분할 되 어 있다 는 것 이다.예 를 들 어"D:\test\...",리 눅 스에 서 파일 은 모두"/"로 분할 되 어 있다.예 를 들 어"home/admin/..."이다.개발 할 때 파일 분할 문자 가 죽 으 면 운영 체제 만 호 환 될 수 밖 에 없다.여러 운영 체 제 를 동시에 호 환 하려 면 죽음 을 써 서 는 안 된다.쓰 기 는 File.separator 구분자 로 연결 하고 StringBuffer 로 연결 해 야 합 니 다.예 를 들 면:
StringBuffer sb = new StringBuffer();
sb.append("home").append(File.separator).append("admin");
File file = new File(sb.toString());
또 하나의 새로운 문제 가 있 습 니 다.만약 에 프로그램 이 특정한 파일 경 로 를 데이터베이스 에 오래 지속 시 킬 수 있다 면 데이터 베이스 에 저 장 된 char 는 반드시 특정한 운영 체제 의 파일 경로 형식 입 니 다.
데이터베이스 에 서 는 반드시 죽은 것 이 고 서로 다른 운영 체제 에서 읽 어 내 서 파일 작업 을 하면 반드시 다시 이상 할 것 이다.이렇게 하면 전환 방법 으로 이 문 제 를 해결 할 수 밖 에 없다.
public static String parseFilePath(String fileName,String filePath){
StringBuffer filePath_unit = new StringBuffer();
String path = filePath_unit.append(filePath).append(File.separator).
append(fileName).toString();
return path.replace("/", File.separator).replace("\\",
File.separator);
}
그 피 해 를 많이 입 었 군요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux Shell 프로 그래 밍 - 텍스트 처리 grep, sed사용자 가 지정 한 '모드' 에 따라 대상 텍스트 를 일치 하 게 검사 하고 일치 하 는 줄 을 인쇄 합 니 다. ##포함 되 지 않 음, 역방향 일치 \ ##키워드 앞 뒤 가 맞지 않 고 키워드 만 일치 합 니 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.