java吧 关注:1,234,745贴子:12,701,878

有关io的,求大神指教。

只看楼主收藏回复

public class book {
public static int st = 0;
private static String a=st+".st";
private static String b;
public static String raed(){
try{
FileReader s=new FileReader("story\\"+a);
char[] c=new char[1];
while(s.read(c)!=-1)
b.concat(new String(c));
s.close();
return new String(c);
}
catch(Exception e){
String a="程序异常";return a;
}
}
public static void main(String[] args) {
System.out.print(book.raed());
}
}


1楼2013-08-21 11:29回复
    首先,不是文件的问题,文件和文件夹都是存在的。但是,它还是出现异常。


    2楼2013-08-21 11:30
    回复
      爱莫能助啊


      IP属地:上海3楼2013-08-21 11:35
      回复
        人呢ORZ


        4楼2013-08-21 11:53
        回复
          这个是用来再一个游戏里添加剧情文本用的,下面的main是想试一下有没有错。。结果一试就试出问题了。。


          5楼2013-08-21 11:54
          回复
            你遇到什么问题?报异常了?告诉你Reader关闭了?


            IP属地:辽宁6楼2013-08-21 11:56
            回复
              代码有问题。。
              我重发:
              public class book {
              public static int st = 0;
              private static String a=st+".st";
              private static String b;
              public static String raed(){
              try{
              FileReader s=new FileReader("story\\"+a);
              char[] c=new char[1];
              while(s.read(c)!=-1)
              b.concat(new String(c));
              s.close();
              return new String(b);
              }
              catch(Exception e){
              String a="程序异常";return a;
              }
              }
              public static void main(String[] args) {
              System.out.print(book.raed());
              }
              }


              7楼2013-08-21 11:58
              回复
                捕获异常,不能读取文件里面的类容。


                8楼2013-08-21 11:59
                回复
                  看下面的代码,一楼的是我试错的时候改过了的。


                  9楼2013-08-21 11:59
                  回复
                    问题应该出在while(s.read(c)!=-1) b.concat(new String(c)); 这么写有什么问题吗?


                    10楼2013-08-21 12:00
                    回复
                      异常粘出来吧。目测s关闭的时机不对,过早。


                      IP属地:辽宁11楼2013-08-21 12:01
                      回复
                        啊 我知道问题出在哪里了,返回值b,b没有初始化while(s.read(c)!=-1) b.concat(new String(c));这个语句并没有起到作用,如果给b初始化了以后就不会是运行return a了,而是return b。但是,while(s.read(c)!=-1) b.concat(new String(c)); 这个又什么问题?


                        13楼2013-08-21 12:03
                        回复
                          不会运行return a了,但是 while(s.read(c)!=-1) b.concat(new String(c)); 语句还是没有起到作用。。。输出是空值。。


                          15楼2013-08-21 12:06
                          回复