Imn*_*erd 2 java io swing file
package jtextareatest; import java.io.FileInputStream; import java.io.IOException; import javax.swing.*; public class Jtextareatest { public static void main(String[] args) throws IOException { FileInputStream in = new FileInputStream("test.txt"); JFrame frame = new JFrame("WHAT??"); frame.setSize(640, 480); JTextArea textarea = new JTextArea(); frame.add(textarea); int c; while ((c = in.read()) != -1) { textarea.setText(textarea.getText() + Integer.toString(c)); } frame.setVisible(true); in.close(); } }
当它运行时,它不是放置文件中的正确单词,而是放置与单词无关的随机数字.我怎样才能解决这个问题?
你可能"test.txt"
是以二进制模式(使用FileInputStream.get
)读取文本文件().
我建议你使用一些Reader
或一个Scanner
.
例如,尝试以下方法:
Scanner scanner = new Scanner(new File("test.txt"));
while (scanner.hasNextInt())
textarea.setText(textarea.getText() + scanner.nextInt());
Run Code Online (Sandbox Code Playgroud)
顺便说一句,你可能想要使用a StringBuilder
和do 来构建字符串textarea.setText(stringbuilder.toString())
.