从文件而不是单词加载数字

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();
    }
}

当它运行时,它不是放置文件中的正确单词,而是放置与单词无关的随机数字.我怎样才能解决这个问题?

aio*_*obe 5

你可能"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()).