파일의 전체 경로에서 파일 이름을 가져 오려고합니다. 입력 : "D : // 아몰 // 1/\ 15_amol.jpeg" 예상 출력 : 15_amol.jpeg자바에서 (백 슬래시)를 사용하는 하위 문자열
나는이
public class JavaApplication9 {
public static void main(String[] args) {
String fname="D://amol//1/\15_amol.jpeg";
System.out.println(fname.substring(fname.lastIndexOf("/")));
System.out.println(fname.substring(fname.lastIndexOf("\\")));
}
}
에 대한 코드 아래에 작성하지만 출력 이하지고있다 :
를_amol.jpeg
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: -1
at java.lang.String.substring(String.java:1927)
at javaapplication9.JavaApplication9.main(JavaApplication9.java:6)
C:\Users\lakhan.kamble\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53:
Java returned: 1
당신은 탈출하는 데 필요한 예외를 발생, -1을 반환 원래 String 리터럴의 백 슬래시. 그래서'String fname = "D : // amol // 1/\\ 15_amol.jpeg";'. 오타로 이것을 닫는 투표. –
'File.getName()'은 이것을 한 번 해주고 (오타를 수정하면); 바퀴를 재발 명하지 마십시오. 'System.out.println (새 파일 ("D : // amol // 1/\\ 15_amol.jpeg") .getName()); ' –