Làm cách nào để mở tệp .txt và đọc số được phân cách bằng cách nhập hoặc dấu cách vào danh sách mảng?Cách mở tệp txt và đọc số trong Java
Trả lời
đọc tập tin, phân tích mỗi dòng vào một số nguyên và lưu trữ vào một danh sách:
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();
}
này sẽ đọc từng dòng,
Nếu không có bạn. được saperated bởi newline char. sau đó ở vị trí của
System.out.println (strLine);
Bạn có thể có
try{
int i = Integer.parseInt(strLine);
}catch(NumberFormatException npe){
//do something
}
Nếu nó được tách bằng dấu cách sau đó
try{
String noInStringArr[] = strLine.split(" ");
//then you can parse it to Int as above
}catch(NumberFormatException npe){
//do something
}
bạn nên đóng inputstream trong một 'khối finally'. – dogbane
Vui lòng không sử dụng DataInputStream để đọc văn bản. Thật không may ví dụ như thế này được sao chép một lần nữa và một lần nữa để bạn có thể loại bỏ nó khỏi ví dụ của bạn. http://vanillajava.blogspot.co.uk/2012/08/java-memes-which-refuse-to-die.html –
cập nhật, bài viết hay btw –
Rất nhiều s horter thay thế là dưới đây:
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();
}
}
Máy quét ngắt đầu vào của nó thành mã thông báo theo mặc định khớp với khoảng trống. Mặc dù dấu phân cách mặc định là khoảng trắng, nó đã tìm thấy thành công tất cả các số nguyên được phân tách bằng ký tự dòng mới.
Tin tốt trong Java 8 chúng ta có thể làm điều đó trong một dòng:
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);
Tôi thích câu trả lời của bạn! Cách nó chỉ in ra số nguyên và bỏ qua dấu cách, dòng mới và các ký tự không phải số nguyên khác – Hazmat
- 1. Đọc một dòng đặc biệt trong tệp txt trong Java
- 2. Mở và đọc txt tập tin trong ASP
- 3. Sửa đổi tệp .txt trong Java
- 4. Đọc nổi từ tệp .txt
- 5. Java, lớp nhanh nhất để đọc từ một tệp txt
- 6. Đọc một tệp .txt bằng cách sử dụng lớp Máy quét trong Java
- 7. Mở và đọc một tệp với askopenfilename
- 8. Cách đọc tệp TXT trong Thư mục Trang Máy chủ Java
- 9. Mở tệp chỉ đọc
- 10. Tệp tin AndroidInInStreamStream đọc() txt đến chuỗi
- 11. Đọc một tệp văn bản trong java
- 12. Đọc txt lớn hiệu quả trong C++
- 13. Đọc tệp .txt bên trong thư mục tài liệu
- 14. Trình đọc tài liệu, rtf và txt trong python
- 15. Cách mở tệp trong thư mục khác trong java?
- 16. Tôi đặt tệp txt mà tôi muốn đọc trong Java ở đâu?
- 17. Java - Đọc nhiều txt file vào một thư mục và xử lý chúng
- 18. các tệp mở và dòng đọc python3
- 19. Cách đọc tệp và ghi vào tệp văn bản?
- 20. Cách đọc và hiển thị tệp trong tiện ích mở rộng của chrome
- 21. Có cách nào để đọc tệp .txt và lưu từng dòng vào bộ nhớ không?
- 22. Làm cách nào để đọc từ tệp .txt được thêm vào trong các mục giải pháp
- 23. Tạo hình ảnh và một số tệp cấu hình như tệp txt và xml với pyinstaller
- 24. Thêm phần mở rộng .txt trong JFileChooser
- 25. Java: Tìm tệp .txt trong thư mục được chỉ định
- 26. Đọc các tệp Microsoft Access trong Java
- 27. chuỗi tìm kiếm C# trong tệp txt
- 28. PHP: Làm cách nào để đọc tệp .txt từ máy chủ FTP thành biến?
- 29. Cách tạo và ghi vào tệp txt bằng VBA
- 30. Cách lưu chuỗi vào tệp .txt trong Delphi?
Điều này là tốt, nhưng tôi sẽ sử dụng 'Integer.valueOf (Chuỗi) 'thay vì bạn muốn một đối tượng (Integer). –
Tại sao chúng ta không thể di chuyển ** reader.close(); ** sang dòng ngay sau vòng lặp while và tránh toàn bộ ** ** block cuối cùng và ** ** try-catch ** khác chặn ** cuối cùng ** chứa đựng ? –
@ m-d Xem [Hướng dẫn Java] (http://docs.oracle.com/javase/tutorial/essential/exceptions/finally.html). Bạn nên đóng tài nguyên trong một 'cuối cùng' để đảm bảo rằng chúng luôn đóng ngay cả khi một ngoại lệ xảy ra trong khối' try'. Điều này ngăn ngừa rò rỉ tài nguyên. – dogbane