关于一个String与StringBuffer的非常奇怪的问题(50分求解): 将****File readFrom=new File(dir,str2);更改成为****File readFrom=new File(dir,str2.trim());我也找了半天。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 确实比较奇怪。看代码好象没有什么问题。现在只好从System.out.println(str2);着手分析试试打印出str2的长度 ,看看是不是str2后面跟了什么字符或者将str2和“test.java”字符串进行比较,看是不是相同(str2.equals("test.java")),如果不同,就是str2的问题,要跟踪由read()读入的字符,如果相同,再看File(File aaa,String bbb)的具体文档解释。 其实这是StringBuffer到String转换的一个把细,你可以尝试用一下File readFrom=new File(dir,str2.trim());你要注意str2.length()比它实际的长度多1,也就是说str2最后还有一个空格 public class test{ public static void main(String[] args) { try { StringBuffer sb = new StringBuffer(); char ch; while((ch=(char)System.in.read())!='\n') { System.out.println(ch); sb.append(ch); } System.out.println(sb.length()); } catch(Exception e) { } }}你执行一下这段代码就清楚了其实是你while((ch=(char)System.in.read())!='\n')的时间将空格读进去了 D:\test>java testjavajava5 "while((ch=(char)System.in.read())!='\n')的时间将空格读进去了"当用户输入时按回车就结束,为什么会把空格也读进去呢? while((ch=(char)System.in.read())!='\r')你将\n换成\r吧,\n是换行,\r是回车返回 我没测试上边的例程,凭直觉认为多读入的应该是'\r',没道理是一个空格。在windows平台上,enter相当于'\r' + '\n' java如何接收手机post过来的无参数信息? 求匹配所有_后面字符串的正则表达式 如何将actin生成的文件保存到客户端 jstl中的if语句 关于继承问题(第二个)? 求<精通Struts:基于MVC的JavaWeb设计与开发(孙卫琴)>电子版 JCreator 3.5中文版,那里有? 想不明白的问题,请指点 问大家一个简单的问题,静态方法是否可以调用非静态方法??? 我的applet从application转过来!如何发布! wait()和notify() and HashMap 报JAVA虚拟机的错误,可能是硬件导致的吗?急!
看代码好象没有什么问题。
现在只好从System.out.println(str2);着手分析试试
打印出str2的长度 ,看看是不是str2后面跟了什么字符
或者将str2和“test.java”字符串进行比较,看是不是相同(str2.equals("test.java")),如果不同,就是str2的问题,要跟踪由read()读入的字符,如果相同,再看File(File aaa,String bbb)的具体文档解释。
{
public static void main(String[] args)
{
try
{
StringBuffer sb = new StringBuffer();
char ch;
while((ch=(char)System.in.read())!='\n')
{
System.out.println(ch);
sb.append(ch);
}
System.out.println(sb.length());
}
catch(Exception e)
{
}
}
}
你执行一下这段代码就清楚了其实是你while((ch=(char)System.in.read())!='\n')的时间将空格读进去了
java
j
a
v
a5
在windows平台上,enter相当于'\r' + '\n'