java.io.FileNotFoundException:Temp(访问被拒绝)

时间:2014-11-25 04:57:05

标签: java command-prompt temp

我不知道为什么会这样。我的代码的目的是比较两个文件,我从我的编程书中得到它。这是我的代码:

import java.io.*;

class CompFiles {
public static void main(String args[])
{
    int i=0, j=0;

// First make sure that both files have been specified.
if(args.length !=2 ) {
  System.out.println("Usage: CompFiles f1 f2");
  return;
}

// Compare the files.
try
    {
        FileInputStream f1 = new FileInputStream(args[0]);
         FileInputStream f2 = new FileInputStream(args[1]);

  // Check the contents of each file.
  do {
    i = f1.read();
    j = f2.read();
    if(i != j) break;
  } while(i != -1 && j != -1);

  if(i != j)
    System.out.println("Files differ.");
  else
    System.out.println("Files are the same.");
} catch(IOException exc) {
  System.out.println("I/O Error: " + exc);
   }
 }
}

我编译了这样的代码:javac CompFiles.java然后该书告诉我使用以下命令将文件复制到临时文件:java CompFiles CompFiles.java temp。输出为java.io.FileNotFoundExceptions: Temp(Access is dined)。  我没有使用任何IDE。谢谢你的回答。

3 个答案:

答案 0 :(得分:0)

您的命令是java -cp . CompFiles file1 file2。但你真的应该使用一个包。 (-cp。假设您已将ComFiles.class编译到当前目录中。)

拒绝访问很可能是因为您尝试将目录作为文件流(.\Temp\)打开。如果您的测试用户在Temp中,您可以使用java -cp . CompFiles temp\file1 temp\file2

答案 1 :(得分:0)

我不确定这本书。但要执行你的程序:

java CompFiles a.java b.java

应该有效。假设a.java b.java是TEXT文件并且存在于当前目录中(执行此程序的目录位置)。

在你的情况下

java CompFiles CompFiles.java temp

temp可能是一个文件夹因此你得到这个错误

答案 2 :(得分:0)

I/O Error: java.io.FileNotFoundException: Temp (Access is denied)

您正在运行以下程序Java CompFiles CompFiles.java temp

这里temp似乎是目录名而不是文件名。 所以,请在第二个参数

中给出一个有效的文件名

你可以试试这个 例如:

Java CompFiles CompFiles.java CompFiles.java

这将为您提供输出:文件相同

  

为什么Access会否认?

您无法读取普通文件等目录