Trong Java, có cách đọc tệp (tệp văn bản) theo cách nó sẽ chỉ đọc một ký tự cùng một lúc, thay vì String theo Chuỗi. Điều này là dành cho mục đích của một phân tích từ vựng cực kỳ cơ bản, vì vậy bạn có thể hiểu tại sao tôi muốn một phương pháp như vậy. Cảm ơn bạn.Đọc từ ký tự tệp văn bản theo ký tự
Trả lời
Bạn có thể đọc toàn bộ tập tin (nếu nó không phải là nhiều lớn) trong bộ nhớ như chuỗi, và lặp trên chuỗi ký tự bằng vật
Cũng không phải là câu trả lời. – FailedDev
Đây là câu trả lời, bạn có nghĩ rằng nó nên chứa mã để trả lời! –
Dưới đây là một số mẫu mã để đọc/ghi một ký tự tại một thời điểm
public class CopyCharacters {
public static void main(String[] args) throws IOException {
FileReader inputStream = null;
FileWriter outputStream = null;
try {
inputStream = new FileReader("xanadu.txt");
outputStream = new FileWriter("characteroutput.txt");
int c;
while ((c = inputStream.read()) != -1) {
outputStream.write(c);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
}
}
Lưu ý, câu trả lời này đã được cập nhật để sao chép mã mẫu từ liên kết Ref, nhưng tôi thấy đây cơ bản là cùng một câu trả lời được đưa ra dưới đây.
ref: http://download.oracle.com/javase/tutorial/essential/io/charstreams.html
Bạn có thể sử dụng phương pháp đọc từ lớp InputStreamReader mà đọc một ký tự từ con suối và trả về -1 khi nó đạt đến sự kết thúc của dòng
public static void processFile(File file) throws IOException {
try (InputStream in = new FileInputStream(file);
Reader reader = new InputStreamReader(in)) {
int c;
while ((c = reader.read()) != -1) {
processChar((char) c); // this method will do whatever you want
}
}
}
Có một số giải pháp có thể. Nói chung, bạn có thể sử dụng bất kỳ Reader
nào từ gói java.io
để đọc các ký tự, ví dụ:
// Read from file
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
// Read from sting
BufferedReader reader = new BufferedReader(new StringReader("Some text"));
- 1. Cách đọc từ một tệp văn bản, ký tự theo ký tự trong C++
- 2. Đọc một ký tự tệp theo ký tự trong C
- 3. Ký tự cuối dòng từ dòng được đọc từ tệp văn bản, sử dụng Python
- 4. Các vấn đề về Kerning khi vẽ ký tự văn bản theo ký tự
- 5. Đọc các ký tự không phải ASCII từ một tệp văn bản
- 6. Làm cách nào để đọc ký tự đầu vào theo ký tự trong Java?
- 7. Đọc các ký tự unicode từ tệp csv
- 8. bash: đọc văn bản từ một chuỗi một ký tự cùng một lúc, với khoảng trắng
- 9. Nhập tệp văn bản dưới dạng chuỗi ký tự đơn
- 10. Đọc tệp văn bản có ký tự không phải ASCII bằng mã hóa không xác định
- 11. Remove chuỗi giữa 2 ký tự từ chuỗi văn bản
- 12. Kiểm tra dòng cho các ký tự không in được trong khi đọc tệp văn bản
- 13. đọc 8 ký tự đầu tiên của tệp văn bản với bash
- 14. Đọc các ký tự từ một từ? Java
- 15. Haskell: lỗi từ vựng trong chuỗi ký tự/ký tự ở ký tự 'i'
- 16. FileHelpers - Cách đọc trong ký tự ®?
- 17. Regex để nhận văn bản GIỮA hai ký tự
- 18. Xác thực trường văn bản có ký tự đặc biệt
- 19. .net đăng ký đọc văn bản
- 20. Đọc các ký tự đặc biệt từ Byte []
- 21. Xóa hoặc bỏ qua ký tự từ người đọc
- 22. lặp vô tận khi đọc từ thiết bị ký tự
- 23. C# Nút Văn bản Các ký tự Unicode
- 24. lxml cắt ngắn văn bản chứa ký tự 'ít hơn'
- 25. Văn bản đối tượng JavaScript và các ký tự mảng
- 26. hạn chế ký tự để nhập vào hộp văn bản
- 27. Xóa ký tự trước ký tự "."
- 28. GUID, chuỗi ký tự 30 ký tự
- 29. Làm thế nào để đọc một chuỗi ký tự theo ký tự dưới dạng một phạm vi trong D?
- 30. đọc tệp văn bản trong dòng R theo dòng
Thực ra, tôi không hiểu; cách bạn xử lý đầu vào không giống như cách bạn đọc nó. IMO bạn nên sử dụng một trình đọc được đệm và xử lý ký tự đầu vào theo ký tự, không đọc nó một cách rõ ràng theo cách đó. –