-4
 public class WriteByteArrayToFile {
    public static void main(String[] args)
    {
        String strFilePath = "C://Program Files/Java/jdk1.7.0_23/bin//s.excel";
        try
        {
            FileOutputStream fos = new FileOutputStream(strFilePath);
            int numberBytes = fileinputstream.available();
            byte bytearray[] = new byte[numberBytes];
            fileinputstream.read(bytearray);
            for(int i= 0;i < numberBytes;i++)
            {
                System.out.println(bytearray[i]);
            }
            fileinputstream.close();
        }
        catch(Exception e)
        {
            System.out.println(e);
            MyReader mr = new MyReader();
            mr.ReadFile("side1-60.java");
        }

        String strContent = "side1-60.java ";
        fos.write(strContent.getBytes());
        fos.close();
    }
    catch(FileNotFoundException e)
    {
        System.out.println("FileNotFoundException : " + ex);
    }
    catch(IOException ioe) {    
        System.out.println("IOException : " + ioe);
    }
}

这是我的代码。我在编译时遇到错误illegal start of type,尤其是在catch(FileNotFoundException e). 任何人都可以 p;ease 帮助我克服这个问题吗?

4

3 回答 3

1

我编辑了您的代码并修复了缩进——这是您每次编写代码时都应该做的事情。如您现在所见,您正在关闭 try-catch 块,然后执行更多代码。

然后你关闭方法 - 之后你有你的catch(FileNotFoundException e). 此catch块在方法完成后出现 - 因此需要成员变量或其他方法 - 因此您会收到此错误。

因为我不知道你的逻辑,所以我不能告诉你它需要是什么——但现在的方式,它绝对是错误的。

于 2013-05-17T09:23:56.963 回答
1

代码只有一个try块。

 catch(Exception e)
                    {
                    System.out.println(e);
        MyReader mr = new MyReader();
        mr.ReadFile("side1-60.java");           
        }

// 此代码导致问题,catch 块没有继续代码

    String strContent = "side1-60.java ";

     fos.write(strContent.getBytes());

     fos.close();

catch(FileNotFoundException f){
}
于 2013-05-17T09:20:57.117 回答
0

您的代码无法工作,您忘记声明“fileinputstream”并且您的 try-catch 无效。您尝试在两个 catch-Block 之间编写代码。

于 2013-05-17T09:29:12.300 回答