try {
br = new BufferedReader(new FileReader(file));
String a = br.readLine();
System.out.println("The first line is:" +a);
int b = Integer.valueOf(a);//这里有问题。
输出如下,我是从一个txt文件里读东西。能把第一行的22读进来,但是将String的22转化为Integer的时候出了问题。
The first line is:22// 这里输出正确
java.lang.NumberFormatException: For input string: "22"求高人解答String IntegerString 转化Integer
br = new BufferedReader(new FileReader(file));
String a = br.readLine();
System.out.println("The first line is:" +a);
int b = Integer.valueOf(a);//这里有问题。
输出如下,我是从一个txt文件里读东西。能把第一行的22读进来,但是将String的22转化为Integer的时候出了问题。
The first line is:22// 这里输出正确
java.lang.NumberFormatException: For input string: "22"求高人解答String IntegerString 转化Integer
解决方案 »
- JAVA核心编程上的一个例子…有关绘图方面的,困扰
- 有Ajax怎样完成无刷新的页面谢谢了
- css处理事件!!!
- 求助:"obsolete methods"的问题
- 北大的几道考题,急求问题答案。谢帮忙!!
- 讨论:有关Observer模式的问题,到底是监视还是通知?
- 这样也能编译,类型不一样也可以重写,真怪~!!
- System.out.println丢字符?
- 关于applet帮忙看一下,急!!!我是菜鸟,100分送上,在线等待
- Apache 1.3.20和Tomcat 4能否结合起来?
- 请各位高手帮忙解决..There is no Action mapped for namespace /hello,万分感谢!
- 关于JNetPcap的问题
建议使用Integer.parseInt() 这个方法会自动去除空格,并且如果包括字符时也会自动去掉的
public static void main(String[] args) {
File file = new File("D:/123.txt");
int i = 0;
BufferedReader br;
String[] strArray = new String[1000];
try {
br = new BufferedReader(new FileReader(file)); while ((strArray[i++] = br.readLine()) != null) {
}
} catch (IOException e) {
e.printStackTrace();
}
String a = null;
for(i=0;i<strArray.length;i++){
//doSomething
if(strArray[0]!=null){
a = strArray[0];
}
}
System.out.println("The first line is:" + a);
System.out.println("Length:" + a.length());//utf-8这里是2,utf-8 bom 这里是3
int b = Integer.valueOf(a.trim());//
System.err.println("b:" + b);
}
}
刚刚运行了下你的代码,在我的机器上也出现了这样的问题。
发现这是编码的问题。
一般用记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成。
利用EmEditor、Editplus等文本编辑器重新保存文件为不带BOM的UTF-8格式 问题就可以解决了。