String lineStr;
FileInputStream fis;
InputStreamReader ir;
BufferedReader br;
//
FileOutputStream fos= new FileOutputStream("d:\\abc.txt");
OutputStreamWriter ow= new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(ow);
//读取文件
fis = new FileInputStream("d:\\cab.txt");
ir = new InputStreamReader(fis);
br = new BufferedReader(ir);
while ((lineStr = br.readLine()) != null)
{
if(lineStr.endsWith("O"))
{
bw.write(lineStr);
bw.newLine();
}
else
{
//lineStr=lineStr.trim();
int n=lineStr.length();
String s=lineStr.substring(n-2);
//System.out.println(s);
s=s.trim();
//System.out.println(s);
int i=Integer.parseInt(s);
System.out.println(i);
int j=1;
if(j<=i)
{
switch(i)
{
case 1: bw.write(lineStr);
bw.newLine();
default:bw.newLine() ;
}
}
}
}
bw.flush();
bw.close();
ow.close();
br.close();
ir.close();
fis.close();这段代码为什么会出现下面的错误呢???7
9
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at test2.Shuchu.main(Shuchu.java:44)下面是要读取的文件内容
LONGITUDE LATITUDE CellID MSC EC/IO
120.1436111 30.18972222 0E31 14121-91 -04
120.1436111 30.18972222 0E32 14121-91 -03
120.1436111 30.18972222 0E33 14121-91 -05
FileInputStream fis;
InputStreamReader ir;
BufferedReader br;
//
FileOutputStream fos= new FileOutputStream("d:\\abc.txt");
OutputStreamWriter ow= new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(ow);
//读取文件
fis = new FileInputStream("d:\\cab.txt");
ir = new InputStreamReader(fis);
br = new BufferedReader(ir);
while ((lineStr = br.readLine()) != null)
{
if(lineStr.endsWith("O"))
{
bw.write(lineStr);
bw.newLine();
}
else
{
//lineStr=lineStr.trim();
int n=lineStr.length();
String s=lineStr.substring(n-2);
//System.out.println(s);
s=s.trim();
//System.out.println(s);
int i=Integer.parseInt(s);
System.out.println(i);
int j=1;
if(j<=i)
{
switch(i)
{
case 1: bw.write(lineStr);
bw.newLine();
default:bw.newLine() ;
}
}
}
}
bw.flush();
bw.close();
ow.close();
br.close();
ir.close();
fis.close();这段代码为什么会出现下面的错误呢???7
9
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at test2.Shuchu.main(Shuchu.java:44)下面是要读取的文件内容
LONGITUDE LATITUDE CellID MSC EC/IO
120.1436111 30.18972222 0E31 14121-91 -04
120.1436111 30.18972222 0E32 14121-91 -03
120.1436111 30.18972222 0E33 14121-91 -05
1、将代码进行良好的格式化,以方便阅读。
2、在发帖文本框的上方单击“#”按钮,选择 Java
3、将代码粘贴到【code=Java】和【/code】之间。发出来的帖子就会是下面的效果:public class Hello { // 程序入口
public static void main(String[] args) {
System.out.println("Hello!");
}
}
改成
if(lineStr.trim().endsWith("O"))
在复制的时候我就发现,您读取的文件内容里每行的末尾都是一个空格
lineStr并不是endsWith("O")而是endsWith("O "),所以就报错了
java.lang.NumberFormatException: For input string: ""
类型转换错误,转int必须保证是数字
你说的没错,但问题的根本原因是因为
if(lineStr.endsWith("O"))
这个判断有误,所以导致分割字符串不正确,
从而造成对不是数字的字符串进行转换而报错,
你说的这些不用运行lz给出的代码,直接看lz
的提示就可以知道。我觉得本着尊重每一位发贴人
的角度考虑,最好还是先运行一下别人的代码,然后
再发表自己的看法,您说是不是这个道理?