我的项目中有两个文件夹:src 和 bin 。分别存放源文件和编译后的文件。我的类文件放在 src/TestFileOutput.java ,要在此文件相同目录下创建文件 out.txt 。即放在 src/out.txt 。可是问题来了,如果我这么写:
out = new FileOutputStream( "out.txt" );
那么就在项目根目录下创建文件,而不是与 TestFileOutput.java 相同的 src/ 目录。如果改成:
out = new FileOutputStream( "src/out.txt" );
那文件发布后在 bin/ 目录下就找不到 src/ 目录。我该怎么办啊?请教高手!

解决方案 »

  1.   

    用TestFileOutput.class.getResource读文件
      

  2.   

    利用 TestFileOutput.class.getResource() 读文件可以,创建文件不行啊!
      

  3.   

    既然发布以后没有src目录,你为什么想要把文件建到src下?
    你这问题本身就矛盾
      

  4.   

    试试out = new FileOutputStream( "./src/out.txt" );
      

  5.   

    我用 eclipse ,项目是 src/ 和 bin/ 两个目录。学习用的源代码都复制到 src/ 目录下,然后 eclipse 自动编译到 bin/ 目录,包括图像,文本文件等所有资源都会复制过去。
    读取相对目录下的文件我可以用这样的方法:
    URL fileUrl = TestFileOutput.class.getResource( "in.txt" );
    in = new FileInputStream( fileUrl.getFile() );
    但是创建文件就不行了,因为不能用 TestFileOutput.class.getResource( "out.txt" );怎么办啊!?
      

  6.   


    String path = TestFileOutput.class.getResource("").getFile();
    File file = new File(path, "out.txt");
      

  7.   

    哦,明白了。但 
    TestFileOutput.class.getResource( "" ).getFile();  
    得到的是 bin/ 目录。
    能不能在 src/ 目录下创建呢,然后它自动被复制到 bin/ 目录下。因为源文件在 src/ 目录下操作方便,否则总是去 bin/ 目录找很麻烦。我有点晕了,现在想想好我的想法压根就有问题。是不是应该把资源文件就直接放在 bin/ 目录下啊!!!可是书上网上的代码 源文件和资源文件 都放在一起,导入 eclipse 后读取资源文件时目录总出现问题,特别是创建文件时候。