A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.*;
  2. public class FileInputStream {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                    try {
  8.                                
  9.                            FileInputStream file= new FileInputStream("abc.txt");
  10.                            while (file.available()>0)
  11.                            {
  12.                                         System.out.print((char)file.read());
  13.                                        
  14.                                 }
  15.                            file.close();
  16.                         } catch (Exception e)
  17.                         {
  18.                         System.out.println("not found file 404");       
  19.                         }

  20.         }

  21. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

8 个回复

倒序浏览
FileInputStream这个是java类库里面的一个类的类名,你不能再自己使用这个类名了,就像关键字一样,你不能用关键字作为类名。
你把类名修改了就好了。

点评

一样的不行!不是这个原因  发表于 2013-5-14 21:36
回复 使用道具 举报
FileInputStream file= new FileInputStream("abc.txt");
你的代码写的是没错的!至于为什么会报错,就是运行到上面这句代码的时候找不到abc.txt这个文本文件导致的
java.io.FileNotFoundException: abc.txt (系统找不到指定的文件。)
你可以指定一个绝对路径,或者把文本文件丢到jvm会默认找的文件夹里面
希望可以帮到你!!!!!!!!

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
你的程序是返回文件的内容是吗?如果是文本文件,可以用 FileReader 来读取,每次返回的是一个字符,如果您要用 InputStream 来读的话,System.out.print((char)file.read()); 这里就会有问题了。如果遇到的是中午,就可能乱码了。因为中文可能是多个字节组成的
修改一下:
        /**
         * 读入字节数组
         *
         * @throws IOException
         */
        private static void readFile_2() throws IOException {
                FileInputStream fis = new FileInputStream("fos.txt");

                byte[] array = new byte[1024];
                int len = 0; // 读取的字节长度
                while ((len = fis.read(array)) != -1) {
                        System.out.println(new String(array, 0, len));
                }
                fis.close();
        }

        /**
         * 一次读一个字节
         *
         * @throws IOException
         */
        private static void readFile_1() throws IOException {
                FileInputStream fis = new FileInputStream("fos.txt");
                int ch = 0;
                while ((ch = fis.read()) != -1) {
                        System.out.println((char) ch);
                }
                fis.close();
        }

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
支持沙发,忘记看类名了
回复 使用道具 举报
代码没错,就是路径的问题了
回复 使用道具 举报
如果问题已经解决了,那么大家请把帖子的类型改为“已解决”,在自己帖子的左下角点编辑,然后选择帖子的分类进行改正。{:soso_e163:}
回复 使用道具 举报
1、类名改改,不要叫FileInputStream
2、确定当前路径下有abc.txt
3、在我这里已经可以运行了,如果还是不能解决问题,楼主至少给出错误是什么啊,要不叫人怎么帮你看
回复 使用道具 举报
把报错的提示粘上来,就知道了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马