我有問題試圖找出緩衝輸入流。我們不得不用Java創建一個文本編輯器程序。我舉幾個例子作爲指導,但還沒有弄清楚。根據我的理解,我已經爲閱讀循環做好了準備,然後它應該將整個文件讀入編輯器。我已經將讀取類型化爲字符,然後使用.toString將其設置爲字符串。現在它編譯,但凍結程序,所以我必須有一個無限循環,但我不確定爲什麼。Java緩衝輸入流不能讀取
//File open
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser jfc = new JFileChooser();
jfc.setCurrentDirectory(new File("."));
int result = jfc.showOpenDialog(null);
if (result == JFileChooser.APPROVE_OPTION)
{
File selectedFile = jfc.getSelectedFile();
BufferedInputStream bis = null;
try
{
bis = new BufferedInputStream(new FileInputStream(selectedFile));
char inChar = (char)bis.read();
while(inChar != -1)
{
//inChar = (char)bis.read();
String charToString = Character.toString(inChar);
textArea.setText(charToString);
}
}
catch (Exception e2)
{
e2.printStackTrace();
}
}
}
});
您正在通過char讀取文件char,每次循環覆蓋該字段的內容。 –
@MattClark考慮到讀取循環內部字符的行被註釋掉了,文件並沒有被讀取,所有的 – BackSlash
你都是正確的。 'String string =「」; while((inChar =(char)bis.read())!= -1){string + = inChar;} System.out.println(string);' –