Jak otworzyć plik .txt i odczytać liczby oddzielone spacjami lub spacjami w liście tablic?Jak otworzyć plik TXT i odczytać liczby w Javie
Odpowiedz
plik Read, analizować każdą linię do liczby całkowitej i zapisać na listę:
List<Integer> list = new ArrayList<Integer>();
File file = new File("file.txt");
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String text = null;
while ((text = reader.readLine()) != null) {
list.add(Integer.parseInt(text));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
}
}
//print out the list
System.out.println(list);
try{
BufferedReader br = new BufferedReader(new FileReader("textfile.txt"));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
System.out.println (strLine);
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}finally{
in.close();
}
będzie to czytać wiersz po wierszu,
Jeśli urządzenie nie. są saperowane przez newline char. następnie w miejscu
System.out.println (strLine);
Można mieć
try{
int i = Integer.parseInt(strLine);
}catch(NumberFormatException npe){
//do something
}
Jeśli jest oddzielone spacjami następnie
try{
String noInStringArr[] = strLine.split(" ");
//then you can parse it to Int as above
}catch(NumberFormatException npe){
//do something
}
należy zamknąć InputStream w 'finally' bloku. – dogbane
Proszę nie używać DataInputStream do czytania tekstu. Niestety, takie przykłady są ciągle kopiowane, więc możesz je usunąć ze swojego przykładu. http://vanillajava.blogspot.co.uk/2012/08/java-memes-which-refuse-to-die.html –
zaktualizowany, fajny artykuł btw –
A dużo s horter alternatywą jest poniżej:
Path filePath = Paths.get("file.txt");
Scanner scanner = new Scanner(filePath);
List<Integer> integers = new ArrayList<>();
while (scanner.hasNext()) {
if (scanner.hasNextInt()) {
integers.add(scanner.nextInt());
} else {
scanner.next();
}
}
A Scanner łamie swoje wejście na tokeny z wykorzystaniem wzorca separatora, który domyślnie odpowiada spacji. Chociaż domyślnym ogranicznikiem jest biały znak, to udało się znaleźć wszystkie liczby całkowite oddzielone znakiem nowego wiersza.
Dobre wieści w Java 8 możemy zrobić to w jednym wierszu:
List<Integer> ints = Files.lines(Paths.get(fileName))
.map(Integer::parseInt)
.collect(Collectors.toList());
File file = new File("file.txt");
Scanner scanner = new Scanner(file);
List<Integer> integers = new ArrayList<>();
while (scanner.hasNext()) {
if (scanner.hasNextInt()) {
integers.add(scanner.nextInt());
}
else {
scanner.next();
}
}
System.out.println(integers);
Podoba mi się Twoja odpowiedź! Sposób, w jaki wypisuje tylko liczby całkowite i pomija spacje, nowe linie i inne niecałkowate znaki – Hazmat
- 1. Otwórz i odczytać plik txt w ASP
- 2. odczytać plik txt za pośrednictwem klienta javascript
- 3. Jak odczytać plik konfiguracyjny w Javie
- 4. PHP: Jak odczytać plik .txt z serwera FTP do zmiennej?
- 5. Jak odczytać plik TXT w katalogu stron Java Server
- 6. Jak odczytać plik i zapisać w pliku tekstowym?
- 7. Przeczytaj plik .txt w katalogu dokumentów
- 8. Jak otworzyć (odczytać-zapisać) lub utworzyć plik z dozwolonym obcięciem?
- 9. Jak przekonwertować plik * .txt na Unicode
- 10. jak odczytać plik tekstowy w ios
- 11. Jak mogę odczytać z pliku .txt dodanego w elementach rozwiązania
- 12. pamięci plik Mapowany w C++ odczytać w Javie
- 13. Zapisz plik txt Ograniczony plik txt z C# .net
- 14. Program CLion C++ nie może odczytać/otworzyć pliku .txt w katalogu projektu
- 15. Czy istnieje sposób, aby odczytać plik .txt i zapisać każdą linię w pamięci?
- 16. Jak otworzyć plik Excel w PHP?
- 17. Jak odczytać plik gzip'd w Scali
- 18. Jak otworzyć plik otwarty w innej aplikacji
- 19. Jak odczytać plik do wektora w C++?
- 20. Jak otworzyć plik .hprof
- 21. Jak otworzyć plik .smsu?
- 22. Jak otworzyć plik "nul"?
- 23. jak odczytać liczby i tekst z kamery w Androidzie?
- 24. Jak poprawnie odczytać szwedzkie znaki z pliku txt
- 25. Jak odczytać oblodzony protokół w Javie?
- 26. Jak otworzyć plik z domyślnym programem powiązanym?
- 27. Sprawdzanie, czy plik (txt) zawiera ciąg/zmienną
- 28. Jak odczytać plik rejestru.bin?
- 29. Jak zamknąć plik PST w Javie?
- 30. Jak dodać plik txt do projektu Android?
To jest dobre, ale chciałbym użyć 'Integer.valueOf (String) 'zamiast tego, ponieważ i tak chcesz obiekt (Integer). –
Dlaczego nie możemy przenieść ** reader.close(); ** do linii tuż po pętli while i uniknąć całego ** finally ** bloku i innego ** try-catch ** zablokować ** wreszcie ** zawiera? –
@ m-d Zobacz [Samouczek Javy] (http://docs.oracle.com/javase/tutorial/essential/exceptions/finally.html). Powinieneś zamknąć zasoby w 'finally', aby upewnić się, że są zawsze zamknięte, nawet jeśli wystąpi wyjątek w bloku' try'. Zapobiega to wyciekom zasobów. – dogbane