当前位置: 代码迷 >> J2SE >> 菜鸟求救~ 为什么运行时报错找不到指定的文件?
  详细解决方案

菜鸟求救~ 为什么运行时报错找不到指定的文件?

热度:187   发布时间:2016-04-24 15:45:55.0
初学者求救~~~~ 为什么运行时报错找不到指定的文件???
import   java.io.*;
  public   class   Romae2
  {
  static   int   count;
  String   filename;
 
  public   Romae2(String   filename)
  {
  this.filename=filename;
  }
 
  public   void   change()throws   IOException
  {
  byte   butter[]=new   byte[512];
  FileInputStream   font=new   FileInputStream(this.filename);
  do
  {
  count=font.read(butter);
  if(count!=-1)
  {
  System.out.print(butter);
  }
  }
  while(count!=-1);
  font.close();
  }
 
  public   static   void   main(String[]   args)throws   IOException
  {
  Romae2   a=new   Romae2( "Romae2.txt ");
  a.change();
  }
  }
在Romae.class同目录下设置了Romae2.txt   编译时没有问题   可是运行时出现(系统找不到文件)
请问什么地方出错了呢??  
谢谢各位大虾指教~


------解决方案--------------------
用绝对路径,要不你要把Romae2.txt放到class_path下才行
------解决方案--------------------
编译的时候肯定不会有问题啦,这时候都还没有去找文件呢.这个主要是路径 的问题啦.用绝对路径应该是可以的,这个相对路径嘛就不知道它是相对哪里了.是bin下,还是wordspace还是当前项目目录呢?
------解决方案--------------------
这条语句Romae2 a=new Romae2( "Romae2.txt ");错了
你必须设绝对路径,假如Romae2.txt在D盘,你就应该这样写
Romae2 a=new Romae( "D:/Romae2.txt ");必须保证D盘有Romae2.txt这个文件

------解决方案--------------------
1, Use absolute path, or
2, Put that file in start-up directory, which is the place where java.exe is invoked. Jcreator may use a directory different from .class directory.
------解决方案--------------------
我觉得你这个程序完全没必要这样写,你给你发个实例:
//ReadFile.java
import java.io.*;
public class readFile
{
public static void main(String args[]) throws Exception
{
File file=new File( "readFile.java ");
if(file.exists())
{
System.out.println( "file readFile.java don 't exists! ");
}
FileReader fr=new FileReader(file);
BufferedReader in=new BufferedReader(fr);
String lineContent;

while((lineContent=in.readLine())!=null)
{
System.out.println(lineContent);
}
in.close();
}
}

------解决方案--------------------
■■国产类似tomcat的 "kangaroo_web_egg "web服务器正式发布,免费且开源

在java中间件中大部分人都知道tomcat,一个开源免费的web服务器,不过今天要介绍的是一个国内自主开发的web服务器

,它的名字叫“kangaroo_web_eggkangaroo_web_egg”,同样是开源免费的,但是它所运行的不是JSP脚本语言,而是自己开发的DQM脚本语言,

其拥有自己的容器用于执行DQM动态文件,我们称之为DQM容器。DQM很类似与JSP,但是比JSP来的简单,所以如果你会JSP那么

只需要稍看DQM就会理解。
   那么这个服务器有什么特点呢?
  1、不需要配置XML文件:以前我们 使用J2EE服务器时都时常需要配置XML文件,而kangaroo_web_egg则不需要,即使使用MVC

结构时也是用动态页面进行逻辑控制。
2、完善的国际化支持:每个涉及到内容输出或读取的方法都重载了带有字符集的方法,这样就不需要再去编写麻烦的过

滤器,只需要简单的提供当前所需要使用的字符集。
  3、有条件的文件输出:BBS的web程序中经常会遇到这样一种情况,允许用户自行上传文件,而上传后的文件必须满足某

些条件才能够被访问(读取、下载),这里所指的某些条件例如只有登录用户才能够访问,或者购买了BBS主题后才能访问等

等。类似情况在其它web应用中也有很多,那该如何实现这种功能呢?以前我们都是自己写一个servlet进行有条件的文件输出

,可是这样会很麻烦,如果要支持断点续传的需要那么自己还要写上一大段程序,要完全符合HTTP协议进行文件输出那么就更

加困难了,而在kangaroo_web_egg只需要简单的使用内置方法即可。
  4、command内置对象:kangaroo_web_egg有一个全新的内置对象command,用户可以通过此对象来查看或修改服务器当前信息
  相关解决方案