java菜鸟真心求教大神,谢谢!

问题描述

java菜鸟真心求教大神,谢谢!

请大神看看下面的代码,我检查了好几次都没发现错误,为何在编译的时候会出现java找不到符号的情况。。。。代码可能有点长。。。麻烦各位了,谢谢!

 //测试FileWriter类

public class TestFileWriter
{
    public static void showFile(java.io.File file)
    {
        char buff[] = new char[22];
        int ret = 0;

        System.out.println("Showfile begin["+file.getName()+"]:");

        java.io.FileReader read_file = null;

        try
        {
            //创建读取文件对象
            read_file = new java.io.FileReader(file);

            do
            {
                //读取一段字符,每次22个字符
                ret = read_file.read(buff);  

                for (int i=0; i<ret; i++)
                {
                    System.out.print(buff[i]);  //逐个输出读入的字符
                }
            }
            while (ret!=-1);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            //关闭打开的文件
            try
            {
                read_file.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        System.out.println("nshowfile end ["+file.getName()+"].");
    }

    public static void main(String[] argv)
    {
        char buff[] = new char[48];
        char ch = 'A';
        int ret = 0;

        for (int i=0; i<26; i++)
        {
            buff[i] = ch++;  //输入A-Z共26个字母到字符数组buff
        }

        java.io.File _write = new java.io.File("_write.txt");
        java.io.FileWriter write_java = null;

        try
        {
            System.out.println(_write.getName()+"exist?"+_write.exists());

            write_java = new java.io.FileWriter("_write.txt");  //创建写入文本的对象

            System.out.println(_write.getName()+"exist?"+_write.exists());

            write_java.write(buff,0,26);  //将buff数组里的内容输出到指定文件

            System.out.println(_write.getName()+"exist?"+_write.exists());

            //write_java.flush();

            write_java.close();  //调用close()会自动执行flush(),如果将这一行放在show_file()方法后面,则show_file()显示文件为空,因为未写入

            System.out.println("nWrite into an empty file.");

            showFile(_write);  //调用show_file()方法
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                write_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }

            java.io.FileWriter append_java = null; 

        }

        try
        {
            //使用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write);  //以普通形式打开,结果依然覆盖原文
            append_java.append("Someting appended in the file....");
            append_java.close();

            System.out.println("n以普通方式打开,调用append()方法");
            showFile(_write);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                append_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        try
        {
            //以追加方式打开文件,并使用append()方法向文件追加内容

            append_java = new java.io.FileWriter(_write, true);
            append_java.write(buff,0,26);
            append_java.close();

            System.out.println("n以追加模式打开文件,用append()方法追加内容到文件中");
            showFile(_write);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                append_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        try
        {
            //以非追加方式打开,并用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write, false);
            append_java.append(new String(buff).trim());
            append_java.close();
            System.out.println("n以非追加方式打开,调用append()方法");
            showFile(_write);
        }
        catch (java.lang.Exception e)
        {
            System.out.println("There must be something wrong!");
        }
        finally
        {
            try
            {
                append_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }
        }

        _write.delete();
    }
}

解决方案

 finally
        {
            try
            {
                write_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }

            java.io.FileWriter append_java = null; 

        }

        try
        {
            //使用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write);  //以普通形式打开,结果依然覆盖原文
            append_java.append("Someting appended in the file....");
            append_java.close();

            System.out.println("n以普通方式打开,调用append()方法");
            showFile(_write);
        }
                改成
                finally
        {
            try
            {
                write_java.close();
            }
            catch (java.lang.Exception e)
            {
                System.out.println("Ignore the exception when closing.");
            }

        }

            java.io.FileWriter append_java = null; //把这个变量申明拿出来
        try
        {
            //使用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write);  //以普通形式打开,结果依然覆盖原文
            append_java.append("Someting appended in the file....");
            append_java.close();

            System.out.println("n以普通方式打开,调用append()方法");
            showFile(_write);
        }

解决方案二:

另外下次提问的时候可以把错误信息也一起贴出来

解决方案三:

这些问题只要在IDE编译器里都会很快解决的,我放到我的Eclipse里面直接就提示了,你的append_java没有声明对象,声明一下就可以了。看代码:

public class TestFileWriter {
    public static void showFile(java.io.File file) {
        char buff[] = new char[22];
        int ret = 0;

        System.out.println("Showfile begin[" + file.getName() + "]:");

        java.io.FileReader read_file = null;

        try {
            // 创建读取文件对象
            read_file = new java.io.FileReader(file);

            do {
                // 读取一段字符,每次22个字符
                ret = read_file.read(buff);

                for (int i = 0; i < ret; i++) {
                    System.out.print(buff[i]); // 逐个输出读入的字符
                }
            } while (ret != -1);
        } catch (java.lang.Exception e) {
            System.out.println("There must be something wrong!");
        } finally {
            // 关闭打开的文件
            try {
                read_file.close();
            } catch (java.lang.Exception e) {
                System.out.println("Ignore the exception when closing.");
            }
        }

        System.out.println("nshowfile end [" + file.getName() + "].");
    }

    public static void main(String[] argv) {
        char buff[] = new char[48];
        char ch = 'A';
        int ret = 0;

        for (int i = 0; i < 26; i++) {
            buff[i] = ch++; // 输入A-Z共26个字母到字符数组buff
        }

        java.io.File _write = new java.io.File("_write.txt");
        java.io.FileWriter write_java = null;

        try {
            System.out.println(_write.getName() + "exist?" + _write.exists());

            write_java = new java.io.FileWriter("_write.txt"); // 创建写入文本的对象

            System.out.println(_write.getName() + "exist?" + _write.exists());

            write_java.write(buff, 0, 26); // 将buff数组里的内容输出到指定文件

            System.out.println(_write.getName() + "exist?" + _write.exists());

            // write_java.flush();

            write_java.close(); // 调用close()会自动执行flush(),如果将这一行放在show_file()方法后面,则show_file()显示文件为空,因为未写入

            System.out.println("nWrite into an empty file.");

            showFile(_write); // 调用show_file()方法
        } catch (java.lang.Exception e) {
            System.out.println("There must be something wrong!");
        } finally {
            try {
                write_java.close();
            } catch (java.lang.Exception e) {
                System.out.println("Ignore the exception when closing.");
            }

            java.io.FileWriter append_java = null;

        }

        FileWriter append_java = null;
        try {
            // 使用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write); // 以普通形式打开,结果依然覆盖原文
            append_java.append("Someting appended in the file....");
            append_java.close();

            System.out.println("n以普通方式打开,调用append()方法");
            showFile(_write);
        } catch (java.lang.Exception e) {
            System.out.println("There must be something wrong!");
        } finally {
            try {
                append_java.close();
            } catch (java.lang.Exception e) {
                System.out.println("Ignore the exception when closing.");
            }
        }

        try {
            // 以追加方式打开文件,并使用append()方法向文件追加内容

            append_java = new java.io.FileWriter(_write, true);
            append_java.write(buff, 0, 26);
            append_java.close();

            System.out.println("n以追加模式打开文件,用append()方法追加内容到文件中");
            showFile(_write);
        } catch (java.lang.Exception e) {
            System.out.println("There must be something wrong!");
        } finally {
            try {
                append_java.close();
            } catch (java.lang.Exception e) {
                System.out.println("Ignore the exception when closing.");
            }
        }

        try {
            // 以非追加方式打开,并用append()方法向文件追加内容
            append_java = new java.io.FileWriter(_write, false);
            append_java.append(new String(buff).trim());
            append_java.close();
            System.out.println("n以非追加方式打开,调用append()方法");
            showFile(_write);
        } catch (java.lang.Exception e) {
            System.out.println("There must be something wrong!");
        } finally {
            try {
                append_java.close();
            } catch (java.lang.Exception e) {
                System.out.println("Ignore the exception when closing.");
            }
        }

        _write.delete();
    }
}

解决方案四:

append _java 变量申明的地方错了,放到finally语句块以外就可以了

解决方案五:

恩,我是照着书本打的,刚开始我也觉得疑惑,为啥声明一个对象会放在finally里面。。。自己也试过把它拿出来另起一行,可能当时也没写对位置吧,总之谢谢啦

时间: 2024-05-17 14:34:18

java菜鸟真心求教大神,谢谢!的相关文章

java菜鸟真心求教大神,谢谢!!!!

问题描述 java菜鸟真心求教大神,谢谢!!!! 我是大三学生,在学校有学些java的基础语言,想要深入学习java,请教大神分享心得 解决方案 这个帖子首先发错位置了,这里是技术区,你问的属于咨询类问题 java基础可以学习核心基础卷系列 然后有java编程思想 java深入虚拟机等 解决方案二: 数据库,网络,等等,够你学 解决方案三: 首先Java se基础,在学基础的时候会学到一些数据库,网络的基础知识,然后可以向这两个方面去深入发展 解决方案四: 如果基础不好,可以学一下<Java编程

关于java问题-新手求教大神:用java实现

问题描述 新手求教大神:用java实现 输入多对空格分开的两个数a,b,输出a+b的和,每一对数据的和占一行 解决方案 我的应该符合了 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Test { public static void main(String[] args) thro

java-JAVA菜鸟,求大神帮忙。

问题描述 JAVA菜鸟,求大神帮忙. 各位大神,我想知道为什么在JAVA中的数组部分定义数组时Boolean bo[] = new Boolean[4];和boolean bo[] = new boolean[4];两个句子在System.out.print(bo[0]);得出的结果是不一样的呢?前者是false,后者是null,求解释.希望能说得通俗一点,先行谢过. 解决方案 Boolean是包装类,也就是上面创建的是对象数组,每一个对象的值会默认初始化为null:而boolean是java的

求教大神,java调用oracle把数据库记录下载到本地的工程

问题描述 求教大神,java调用oracle把数据库记录下载到本地的工程 如上图,已经用java调用dos命令行进入sql界面,现在如何编写java代码来执行以下:sset linesize 999 set pagesize 999 spool XX_EVA_RAROC_PKG.sql select text from all_source where name='XX_EVA_RAROC_PKG' order by line; spool off; 用java直接连数据库是否也可行,求教大神提

java利用QQ邮件服务器发邮件的代码 谁有 各位大神谢谢了

问题描述 java利用QQ邮件服务器发邮件的代码 谁有 各位大神谢谢了 ...................................................................... 解决方案 //发送邮件 try { Properties prop = new Properties(); //设置服务器地址 prop.put("mail.smtp.host", "smtp.qq.com"); //设置需要身份验证 prop.put(&

事件处理-新手求教大神,java事件监听问题

问题描述 新手求教大神,java事件监听问题 import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JLabel; public class EventModelDemo implements ActionListener{ JLabel tips=new

图片-求教大神在myeclipse中java项目部署不到tomcat是什么原因

问题描述 求教大神在myeclipse中java项目部署不到tomcat是什么原因 解决方案 MyEclipse中的java项目,部署到tomcat失败MyEclipse中无法部署tomcat的原因MyEclipse中无法部署tomcat的原因 解决方案二: 你这个tomcat安装配置的有问题啊, 在本地先单独起一下服务器看行不 之后如果行,就是myeclipse里的配置问题 如果不行,你就重装吧 解决方案三: 你建的项目是web项目吗 解决方案四: 不是我建的是java项目,web项目是可以部

极光推送这几个参数什么意思?菜鸟求教大神。

问题描述 极光推送这几个参数什么意思?菜鸟求教大神. static String appId = "b03c5cfef65ed30108f0a3fd82c3f6b4"; static String appkey = "110000"; static String master = "a02a76119b20d4e31620d7597a3b4f35"; static String CID = "873ffc4fec7bfd43d47056

java三角形图形计算器怎么判断边?求教大神

问题描述 java三角形图形计算器怎么判断边?求教大神 package edu.jmi.shape; import java.util.Scanner; public class SanJiaoXing { float length; float high; /** * @param args */ float zhouChang(){ float zhou = 3*length; return zhou; } float mianJi(){ float mian = (length*high)