У меня есть текстовый файл со значениями города и штата: - Это содержимое моего файла: -
Madhya Pradesh-Bhopal
Goa-Bicholim
Andhra Pradesh-Guntur
Я хочу разделить штат и город ... Вот мой код
FileInputStream fis= new FileInputStream("StateCityDetails.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
int h=0;
String s;
String[] str=null;
byte[] b= new byte[1024];
while((h=bis.read(b))!=-1){
s= new String(b,0,h);
str= s.split("-");
}
for(int i=0; i<str.length;i++){
System.out.println(str[1]); ------> the value at 1 is Bhopal Goa
}
}
Также у меня есть пробел между Мадхья-Прадеш .. Итак, я хочу удалить пробелы между состояниями в файле, а также разделить штат и город и получить следующий результат: -
str[0]----> MadhyaPradesh
str[1]----> Bhopal
str[2]-----> Goa
str[3]----->Bicholim
Пожалуйста, помогите .. Заранее спасибо :)
1 ответ
Я бы использовал здесь BufferedReader
, а не так, как вы это делаете. Приведенный ниже фрагмент кода считывает каждую строку, разбивает ее на дефис (-
) и удаляет все пробелы из каждой части. Каждый компонент вводится в список в порядке слева направо (и сверху вниз). Список преобразуется в массив в конце, если вам это нужно.
List<String> names = new ArrayList<String>();
BufferedReader br = null;
try {
String currLine;
br = new BufferedReader(new FileReader("StateCityDetails.txt"));
while ((currLine = br.readLine()) != null) {
String[] parts = currLine.split("-");
for (int i=0; i < parts.length; ++i) {
names.add(parts[i].replaceAll(" ", ""));
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
// convert the List to an array of String (if you require it)
String[] nameArr = new String[names.size()];
nameArr = names.toArray(nameArr);
// print out result
for (String val : nameArr) {
System.out.println(val);
}
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.