在一个项目上,我通过一个类似于控制台的小窗口运行Java应用程序。由于这里有一个很棒的社区,我设法通过从流程输出数据来解决问题,但是由于没有输入流,我运行的命令行应用程序将不断出错。
基于该线程中最后一个有用的答复,我想我将以类似的方式JTextFieldInputStream extends InputStream
实现该实现,但是在javadocs中以及整个google和互联网中寻找某个类,该类确实没有发现任何解释方法。
因此,我需要一些链接,示例,教程,示例代码,就像上一个主题一样。给我只提供一个扩展InputStream的类,当我按Enter时可以将其扩展为从JTextField读取,我将通过实现它并使它正常工作来完成剩下的工作!提前致谢!
这个实施怎么样
import java.io.IOException;
import java.io.InputStream;
import javax.swing.JTextField;
public class JTextFieldInputStream extends InputStream {
byte[] contents;
int pointer = 0;
public JTextFieldInputStream(final JTextField text) {
text.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
if(e.getKeyChar()=='\n'){
contents = text.getText().getBytes();
pointer = 0;
text.setText("");
}
super.keyReleased(e);
}
});
}
@Override
public int read() throws IOException {
if(pointer >= contents.length) return -1;
return this.contents[pointer++];
}
}
要使用此输入流,请执行以下操作
InputStream in = new JTextFieldInputStream( someTextField );
char c;
while( (c = in.read()) != -1){
//do whatever with c
}
它只有在我按Enter键时才读吗?
它在您调用时读取,in.read()
如果返回值-1
表示流结束
(并且我将能够进行修改,以使Enter键清空JTextField吗?)
您需要添加一个动作侦听器,并且此功能与输入流的工作无关
问题内容: 我已经创建了可执行的jar文件(使用Eclipse),在jar中包含一组图像(.png)文件。所以我添加了一个源文件夹,其中所有图像都位于项目的文件夹中。代码必须访问这些文件才能使用创建BufferedImage 较早前,为了获得我使用的路径 在执行jar时,它抛出错误 URI不是分层的 所以现在我正在使用 但是如何使ImageIO从Inputstream读取?我试过如下 抛出错误 I
我发现其他人也有同样的问题,他们的问题通过在InputStreamReader构造函数中指定UTF-8来解决: 以UTF-8形式读取InputStream 这对我不起作用,我也不知道为什么。无论我尝试什么,我总是得到转义的unicode值(斜杠-U+十六进制),而不是实际的语言字符。我在这里做错了什么?提前道谢! 请注意:这不是字体问题。我之所以知道这一点,是因为如果我对同一个文件使用Resour
问题内容: 我必须使用SFTP从ZIP存档(只有一个文件,我知道它的名称)中获取文件内容。我唯一拥有的是ZIP的。大多数示例说明如何使用以下语句获取内容: 但是正如我所说,我的本地计算机上没有ZIP文件,也不想下载它。是够看了? UPD: 这是我的方法: 问题答案: 好吧,我已经做到了: 它可以帮助我阅读ZIP的内容而无需写入另一个文件。
我必须使用SFTP从ZIP存档(只有一个文件,我知道它的名称)获取文件内容。我唯一拥有的是ZIP的InputStream。大多数示例显示了如何使用此语句获取内容: 但正如我所说,我的本地机器上没有ZIP文件,我不想下载它。输入流是否足以读取? UPD:我就是这样做的:
问题内容: 我想从流中获取编码。 第一种方法-使用InputStreamReader。 但是它总是返回OS编码。 输出:GBK 第二种方法-使用UniversalDetector。 但是它总是返回null。 输出:空 我怎样才能正确?:( 问题答案: 让我们恢复情况: InputStream传送字节 *阅读器以某种编码传递字符 新的InputStreamReader(inputStream)使用操
在我的项目中,我使用预定义的注释: 的源代码: 我想编写自定义注释,它将与使用(Secure.class)的