【发布时间】:2012-10-04 20:13:56
【问题描述】:
我正在尝试编写代码以将给定文本文件的所有字符(包括空格)导入单个字符串以进行分析。为此,我在 Java 中使用给定的文件,并在将它们放在一起时遇到了一个奇怪的错误。我根本不熟悉编码,希望得到澄清。发生的事情是在下面的代码中,当我设置
text.append(ch);
我有默认构造函数不能处理X抛出的异常,必须定义显式构造函数的错误;
当我设置 text.append('ch');
上述错误消失了,我的 'ch' 行只给出了无效的 char const。错误,可通过删除 ''s 来修复。
所以我认为我必须从 Java 为我的给定构造一个显式构造函数,这有必要吗?由于我不知道该怎么做,所以最好有一个迂回的解决方案。
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.lang.StringBuilder;
public class TextReader //cannot place inputs/outputs of string on this line
{
StringBuilder text = new StringBuilder();
//StringBuilder google
//google end of file check java
InputStream in = new FileInputStream("charfile.txt");
Reader r = new InputStreamReader(in, "US-ASCII");
int intch;
{
while ((intch = r.read()) != -1)
{
char ch = (char) intch;
// ...
text.append(ch); //if I make this a 'ch', the errors above go away, what's the problem?
}
}
}
【问题讨论】:
-
什么?如果你有'ch',它不应该让错误消失。你能解释清楚吗?
-
好吧,如果我将其设为“ch”,我认为 java 会专注于更明显的错误。从字面上看,当 ch 为 'ch' 时,代码中的唯一错误是 'ch' 不是有效的常量 char 的错误
-
当我只有ch时,'InputStream in' 'Reader r' 'while(('的行都给出默认构造函数不能处理来自X的异常,请显式构造
-
'ch' 应该会产生编译错误,因为单引号(大多数情况下)只携带一个字母。你用的是什么IDE?