Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.io.FileNotFoundException:Temp(访问被拒绝)_Java_Command Prompt_Temp - Fatal编程技术网

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

java.io.FileNotFoundException:Temp(访问被拒绝),java,command-prompt,temp,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

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

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(访问被禁止)

我没有使用任何IDE。谢谢您的回答。

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


拒绝访问很可能是因为您试图以文件流形式打开目录(
\Temp\
)。如果您的测试场处于临时状态,您可以使用
java-cp。CompFiles temp\file1 temp\file2

我对这本书没有把握。但要执行您的程序:

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

就你而言

java CompFiles CompFiles.java temp
temp可能是一个文件夹,因此您会遇到此错误

I/O Error: java.io.FileNotFoundException: Temp (Access is denied)
您正在运行以下程序
Java CompFiles CompFiles.Java temp

这里的
temp
看起来像是目录名,而不是文件名。 因此,请在第二个参数中提供有效的文件名

你可以试试这个 例如:

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

为什么拒绝访问


你不能像普通文件那样读取目录

你有第二个文件吗
temp
?我不明白你的意思。你在比较两个文件。其中一个文件是
CompFiles.java
,因为您刚刚编译了它,我想您已经拥有了它。第二个文件是
temp
。您的文件系统中是否有另一个名为
temp
的文件?根据你的问题,我的假设是你不知道。temp不是一个有效的文件名,因此你会得到错误,请参考下面我的答案
Java CompFiles CompFiles.java CompFiles.java