Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从文件中加载数字而不是文字 包装测试; 导入java.io.FileInputStream; 导入java.io.IOException; 导入javax.swing.*; 公共类JTextArea测试{ 公共静态void main(字符串[]args)引发IOException{ FileInputStream in=新的FileInputStream(“test.txt”); JFrame=新JFrame(“什么”); 帧设置大小(640480); JTextArea textarea=新的JTextArea(); frame.add(文本区域); INTC; 而((c=in.read())!=-1){ setText(textarea.getText()+Integer.toString(c)); } frame.setVisible(true); in.close(); } }_Java_Swing_File_Io - Fatal编程技术网

从文件中加载数字而不是文字 包装测试; 导入java.io.FileInputStream; 导入java.io.IOException; 导入javax.swing.*; 公共类JTextArea测试{ 公共静态void main(字符串[]args)引发IOException{ FileInputStream in=新的FileInputStream(“test.txt”); JFrame=新JFrame(“什么”); 帧设置大小(640480); JTextArea textarea=新的JTextArea(); frame.add(文本区域); INTC; 而((c=in.read())!=-1){ setText(textarea.getText()+Integer.toString(c)); } frame.setVisible(true); in.close(); } }

从文件中加载数字而不是文字 包装测试; 导入java.io.FileInputStream; 导入java.io.IOException; 导入javax.swing.*; 公共类JTextArea测试{ 公共静态void main(字符串[]args)引发IOException{ FileInputStream in=新的FileInputStream(“test.txt”); JFrame=新JFrame(“什么”); 帧设置大小(640480); JTextArea textarea=新的JTextArea(); frame.add(文本区域); INTC; 而((c=in.read())!=-1){ setText(textarea.getText()+Integer.toString(c)); } frame.setVisible(true); in.close(); } },java,swing,file,io,Java,Swing,File,Io,运行此操作时,它不会从文件中放置正确的单词,而是放置与单词无关的随机数字。如何修复此问题?您可能正在以二进制模式(使用FileInputStream.get)读取文本文件(“test.txt”) 我建议您使用一些阅读器或扫描仪 例如,请尝试以下操作: package jtextareatest; import java.io.FileInputStream; import java.io.IOException; import javax.swing.*; public class Jtex

运行此操作时,它不会从文件中放置正确的单词,而是放置与单词无关的随机数字。如何修复此问题?

您可能正在以二进制模式(使用
FileInputStream.get
)读取文本文件(
“test.txt”

我建议您使用一些
阅读器
扫描仪

例如,请尝试以下操作:

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

顺便说一句,您可能希望使用and do
textarea.setText(stringbuilder.toString())
构建字符串。

您可能正在以二进制模式(使用
FileInputStream.get
)读取文本文件(
“test.txt”

我建议您使用一些
阅读器
扫描仪

例如,请尝试以下操作:

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(); } }
顺便说一句,您可能希望最终使用and do
textarea.setText(stringbuilder.toString())
构建字符串。

从该输入流读取一个字节的数据

返回类型是int,不是char之类的

那就照我说的去做。

从该输入流读取一个字节的数据

返回类型是int,不是char之类的


所以,按照aioobe所说的去做。

未测试,但您应该能够将字节(整数)转换为字符:

Scanner scanner = new Scanner(new File("test.txt"));
while (scanner.hasNextInt())
    textarea.setText(textarea.getText() + scanner.nextInt());

但是,aioobe的答案可能更好。

未经测试,但您应该能够将字节(整数)转换为字符:

Scanner scanner = new Scanner(new File("test.txt"));
while (scanner.hasNextInt())
    textarea.setText(textarea.getText() + scanner.nextInt());
但是,aioobe的答案可能更好。

使用JTextComponent API提供的read()方法:

int c;
while ((c = in.read()) != -1)
{
    textarea.setText(textarea.getText() + Character.toString((char)c));
}
使用JTextComponent API提供的read()方法:

int c;
while ((c = in.read()) != -1)
{
    textarea.setText(textarea.getText() + Character.toString((char)c));
}

如果我将“test”写入test.txt,并运行您的程序,它将生成116 101 115 116 10粘合在一起。这些数字是您要求的ascii值(c=in.read读取字节,但返回int,以便能够返回-1作为错误指示器,不是吗?您应该使用扫描仪。test.txt的编码是什么?如果我写“test”要测试.txt并运行您的程序,它将生成116 101 115 116 10。这些数字是您要求的ascii值(c=in.read读取字节,但返回int,以便能够返回-1作为错误指示器,不是吗?您应该使用扫描仪。test.txt的编码是什么?