디렉토리에 많은 수의 파일을 처리하는 응용 프로그램을 작성 중입니다. 내 응용 프로그램에서 처리하는 각 파일의 정규화 된 경로를 데이터베이스에 삽입하려고합니다. 응용 프로그램에서 이미 처리 한 파일을 사용자가 다시 처리하기 위해 다시 제출하는 경우 파일의 정규화 된 경로를 지정하여 데이터베이스에서 파일에 대해 처리 된 모든 데이터를 삭제 한 다음 새 파일 인 것처럼 파일플랫폼 특정 경로를 Java 데이터베이스에 삽입하는 방법
내가 직면하고 문제는 내가 이클립스를 통해 응용 프로그램을 실행할 때 다음과 같이 데이터베이스에 삽입 경로 이름이 있다는 것입니다 : -
나는 그것의 경로와 파일 이름을 연결 Afer 즉D:\Trunk\App\Source
(pathString + File.seperator + fileNameString) 즉, 데이터베이스에 삽입 완전한 경로는
D:\Trunk\App\Source/file1.txt
다음 있지만 나는 내 응용 프로그램에 대한 항아리를 만들고 항아리를 두 번 클릭하여 항아리를 실행하는 경우, 경로 이름 데이터베이스에 삽입 된 데이터는 fol 최저 : - 나는 그것의 경로 (pathString + File.seperator + fileNameString)와 파일 이름을 연결 한 후
D:/Trunk/App/Source
즉, 데이터베이스에 삽입 정규화 된 경로는
D:/Trunk/App/Source/file1.txt
응용 프로그램을 다음과 같다 응용 프로그램이 eclipse에서 응용 프로그램을 실행하는 대신 jar를 두 번 눌러 실행하는 경우 처리를 위해 다시 제출 된 파일의 데이터를 삭제하지 못합니다. 삭제에 사용되는 쿼리는 관계없이 그냥 모든 "\"
당신이 처리하는 모든 파일 경로에 대한 "/"
에 또는 그 반대로 변환 항아리
delete from file_table where where file = 'D:\Trunk\App\Source/file1.txt'
당신은 파일 분리기의 한 종류에 충실하지 못할? 예. 삽입하는 동안 및 데이터베이스를 확인하는 동안 모두 /로 변환하십시오. –
그럴 수 있습니다. 내 응용 프로그램이 일단 모든 파일 처리를 완료하면 .csv 보고서를 생성하지만. 이 보고서에는 열 중 하나에있는 각 파일의 경로가 들어 있습니다. 이것은 내가 직면하고있는 두 번째 문제, 즉 보고서에 표시된 경로가보다 의미있는 플랫폼 특정이어야 함을 의미합니다. – CKing