私はJavaでテキストエディタを作ろうとしていますが、 "ファイルを開く"機能が動作しないようです。コードを実行すると、ファイルの最初の行だけが表示されます。私はコードスニペットをすべてHow to read a large text file line by line using Java?から試しましたが、最初の行だけを読み込みます。これは私がしようとしたものですJavaでファイルのすべての行を読み込めないのはなぜですか?
:
JMenuItem mntmOpen = new JMenuItem("Open");
mntmOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0));
mntmOpen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == mntmOpen) {
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//This is where a real application would open the file.
Path HI = file.toPath();
try(Stream<String> lines = Files.lines(HI)
){
for(String line : (Iterable<String>) lines::iterator)
{
editorPane.setText(line);
}
}catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
});
あなたが試したことを示してください。 –
* "しかし、まだ最初の行だけを読みます。" *あなたのコードはそれをしません。 [mcve]を作成してください。 – Tom
おそらくStringBuilderが必要で、出力に新しい行を追加する必要がありますか? –