Java:文件名以字符串形式发送,文件未找到

时间:2015-01-06 09:17:18

标签: java file

我正在尝试从另一个文件(text1.txt)读取并将(text1.txt的内容)写入另一个文件(text2.txt)。

我将这两个名称发送为args[0]args[1]

我必须指定这两个文件都在项目的src文件夹中,但是我得到FileNotFoundException,是的,我尝试使用getAbsolutePath(),但我得到了同样的例外。

这是我的代码:

public class Test4 {

  public void write(String s,String s2) throws Exception
  {
    File _filein=new File(s);
    File _fileout=new File(s2);
    _fileout.createNewFile();
    PrintWriter _prw=new PrintWriter(_fileout);
    BufferedWriter _buffwrt=new BufferedWriter(_prw);
    FileInputStream _readfrom=new FileInputStream(_filein.getAbsolutePath());
    BufferedReader _read=new BufferedReader(new InputStreamReader(_readfrom));
    String _str=_read.readLine();
    while(_str!=null)
    {
        _buffwrt.write(_str+" ");
        _buffwrt.flush();
        _str=_read.readLine();
    }
  }

  public static void main(String[] args) throws Exception {
    Test4 T4=new Test4();
    T4.write(args[0],args[1]);
   }
 }

1 个答案:

答案 0 :(得分:0)

手动阅读&写文件总是有问题的 - 你应该这样做,除非你确切知道你正在阅读/写什么类型的内容以及它是如何对齐的。 更容易复制文件并让API完成所有这些工作:http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#copy(java.nio.file.Path,%20java.nio.file.Path,%20java.nio.file.CopyOption...)

  

将文件复制到目标文件。此方法将文件复制到目标   带有options参数的文件,指定如何执行复制。   默认情况下,如果目标文件已存在或为a,则复制将失败   符号链接,除非源和目标是同一个文件,在   在不复制文件的情况下,该方法完成的情况。文件   不需要将属性复制到目标文件。如果   支持符号链接,然后文件是符号链接   复制链接的最终目标。如果文件是目录   然后它在目标位置创建一个空目录(条目在   目录未复制)。这个方法可以用于   walkFileTree方法复制目录和中的所有条目   目录,或者需要的整个文件树。