Đây là một đoạn mã đơn giản:Command Line Pipe Input trong Java
import java.io.*;
public class Read {
public static void main(String[] args) {
BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
while(true)
{
String x = null;
try{
x = f.readLine();
}
catch (IOException e) {e.printStackTrace();}
System.out.println(x);
}
}
}
tôi thực hiện điều này như: java đọc < INPUT.TXT
Khi INPUT.TXT là hoàn toàn cấp nước tập trung vào chương trình , x tiếp tục nhận null vô hạn. Tại sao vậy? Có cách nào mà tôi có thể làm cho Standard In (Command Line) hoạt động sau khi tập tin được đưa vào mã được thực hiện? Tôi đã thử đóng luồng và mở lại, nó không hoạt động. Đặt lại vv.
Đã chỉnh sửa mã gốc để đưa câu trả lời được chấp nhận vào tài khoản. Bởi vì câu trả lời đó dường như không áp dụng cho mã này ngay bây giờ: mã không đọc một tệp từ danh sách arg hoặc bất kỳ điều nào như câu trả lời ngụ ý. Nó sẽ tốt hơn, trong trường hợp đó, để lại các mã sai lầm tại chỗ để làm cho toàn bộ trang này có ý nghĩa hơn. – Rondo
@Rondo - không. [Ở đây] (http://stackoverflow.com/posts/1431551/revisions) là các bản sửa đổi. –