Tôi phải lấy một tệp đầu vào và nối một số ở cuối tên của nó để sử dụng làm tệp đầu ra. Để đạt được điều này, tôi sử dụng đoạn mã sau:Tại sao tôi không thể sử dụng "." như một dấu phân cách trong hàm split()?
String delimiter = ".";
String[] splitInput = inputLocation.split(delimiter);
String outputLocation = splitInput[0];
và tôi nhận được ngoại lệ sau đây:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
tôi đã thêm các tuyên bố sau để kiểm tra độ dài của mảng splitInput, và tôi nhận được 0 như đầu ra.
System.out.println(splitInput.length);
Sau đó, tôi đã sử dụng ".x" làm dấu phân cách (tệp của tôi là .xls). Tôi có thể sử dụng ".x" và đạt được mục đích của mình nhưng tôi tò mò tại sao sẽ không "." công việc?
hãy thử sử dụng "\". thay thế. Tôi không ở một nơi mà tôi có thể kiểm tra nó, nhưng tôi nghĩ rằng phân chia mong đợi một regex, và. ký tự đại diện cho bất kỳ ký tự nào. – Kylar
@LuiggiMendoza, cảm ơn. Tôi đã có câu trả lời của tôi ở đó .. – DT7
@Kylar, Tên tệp của tôi giống như c: /temp/sample.xsl .. Tôi cần c:/temp/sample và thêm một số như 123 và sau đó thêm .xls vào nó. Ban đầu tôi nghĩ tôi có thể chia thành hai phần. và thêm số ở giữa .. Bây giờ tôi chia nhỏ bằng cách sử dụng ".x" và lấy phần đầu tiên, thêm số và có phần mở rộng được mã hóa cứng.Cảm ơn :) – DT7