简单java代码中的FileNotfound异常
我使用这段代码使用filereader对象读取java中的文件。然而,应用程序抛出一个异常,说明它无法找到该文件。有人能帮助这个新手进行java编程吗简单java代码中的FileNotfound异常,java,Java,我使用这段代码使用filereader对象读取java中的文件。然而,应用程序抛出一个异常,说明它无法找到该文件。有人能帮助这个新手进行java编程吗 import java.util.*; import java.io.*; import java.util.Scanner; import java.io.FileReader; import java.io.PrintWriter; public class CFileReader { /** * @param arg
import java.util.*;
import java.io.*;
import java.util.Scanner;
import java.io.FileReader;
import java.io.PrintWriter;
public class CFileReader {
/**
* @param args
*/
public static void main(String[] args) throws FileNotFoundException
{
String objLine;
String strInputFileName;
FileReader objReader = null;
Scanner objScanner;
File objFile;
if(args.length > 0)
{
for(int i = 0;i < args.length ;i++)
{
//Gets the arguments into the strInputFileName variable
strInputFileName = args[i];
System.out.println("Filename entered was : " + strInputFileName);
//Create a file object which points to the filename i.e strInputFileName
objFile = new File(strInputFileName);
//Create a FileReader object with the File object i.e objFile as the input parameter
objReader = new FileReader(objFile);
System.out.println("Filereader object is : " + objReader.toString());
//Create a scanner object with FileReader as input parameter
objScanner = new Scanner(objReader);
System.out.println(args);
//Scans the file if it has next line
while(objScanner.hasNextLine())
{
//Store the contents i.e. first line in the objLine Variable
objLine = objScanner.nextLine();
//prints the contents
if(objLine.indexOf(i) > 0)
{
System.out.println(objLine);
}
}
}
}
else
{
//Warn the user to enter the command line arguments if he has not entered
System.out.println("Please Enter Command line args");
}
}
}
跑
java CFileReader "C:\\Hello.txt"
其中,Hello.txt是一个包含一些内容的简单文本文件
提前多谢了除了@Adel指出的args[0]错误,您也不必在命令行中转义“\”。。。“C:\Hello.txt”就足够了。除了@Adel指出的args[0]错误外,您还不必在命令行中转义“\”。。。“C:\Hello.txt”就足够了。我通常在我的文件对象和它的使用之间加上以下几行:
if (!objFile.isFile() || !objFile.exists()) {
System.out.println("Could not find file: " + objFile.getPath().toString();
}
这通常会显示文件名的字符串格式有问题。我通常在我的文件对象和它的使用之间加上以下几行:
if (!objFile.isFile() || !objFile.exists()) {
System.out.println("Could not find file: " + objFile.getPath().toString();
}
这通常会显示文件名的字符串格式有问题。如果代码在我的MacOS系统中工作,问题在于在Windows中写入文件路径的方式。就我而言:
java CFileReader /home/jenaiz/test.txt
这段代码在我的MacOS系统中工作,问题是你在Windows中写入文件路径的方式。就我而言:
java CFileReader /home/jenaiz/test.txt
您不需要
\\
。Java不解析输入字符串中的转义序列,单个反斜杠是Windows shell中的路径分隔符。您不需要\
。Java不解析输入字符串中的转义序列,单个反斜杠是Windows shell中的路径分隔符。我自己在Windows上编译并测试了这段代码,效果很好。您要查找的文件不存在,或者在命令行中键入文件名时出错 我自己在Windows上编译并测试了这段代码,效果很好。您要查找的文件不存在,或者在命令行中键入文件名时出错 检查输入文件是否确实存在。当我在我的计算机上运行您的代码时,我没有在C:的根目录中创建文件的权限。您是如何创建测试文件的
当我将文件移动到另一个驱动器时,例如“t:\hello.txt”,它第一次工作。检查输入文件是否确实存在。当我在我的计算机上运行您的代码时,我没有在C:的根目录中创建文件的权限。您是如何创建测试文件的
当我将文件移动到另一个驱动器时,例如“t:\hello.txt”,它第一次工作。您可以打印堆栈跟踪(错误消息?)您的(根)
C:
目录中是否存在hello.txt
?你真的需要那里的双人房吗?(对于后者不是100%确定)。需要检查的一件事是:尝试打印出objFile.getAbsolutePath()
(在创建文件之后),看看它是否符合您的期望。我不确定这些\\'将如何在命令行中解析。Stacktrace……….线程“main”中的异常java.io.FileNotFoundException:Hello.txt(系统找不到指定的文件)在java.io.FileInputStream.open(本机方法)在java.io.FileInputStream。(未知源代码)在java.io.FileReader.(未知源代码)在CFileReader.main(CFileReader.java:35)看看你能打印stacktrace吗(错误消息?)在你的(根)C:
目录中是否存在Hello.txt
?你真的需要双\\那里吗?(后者不是100%确定)。需要检查的一件事是:在创建文件后立即打印objFile.getAbsolutePath()
我不确定这些\\'将如何在命令行进行解析。Stacktrace…….线程“main”java.io.FileNotFoundException中的异常:Hello.txt(系统找不到指定的文件)位于java.io.FileInputStream.open(本机方法)位于java.io.FileInputStream(未知源代码)位于java.io.FileReader。(未知来源)在CFileReader.main(CFileReader.java:35)看奇怪我仍然无法运行这个x(你100%确定你尝试使用的文件存在吗?奇怪我仍然无法运行这个x(你100%确定你尝试使用的文件存在吗?我尝试在“D”上使用测试文件)驱动器..但程序仍然无法搜索n定位文件:(尝试将文件移动到源所在的同一目录。这样,您就知道您具有读/写权限,并且可以排除这种情况。我尝试在“D”驱动器上使用测试文件..但程序仍然无法搜索n定位文件:(请尝试将文件移动到源所在的同一目录。这样,您就知道您具有读/写权限,并且可以排除这种情况。我使用了此代码段,但应用程序在此阶段不会引发任何异常,但仅当我尝试使用filereader对象读取文件时,如果没有显示任何内容,则会出现实际的异常。)读取文件时出现问题-该文件有效但无法读取。如果必须猜测,我会说“权限”?因为据我所知,其余部分设置正确。我会检查以确保您尝试读取的文件具有打开权限。我从未使用过扫描仪对象,但是,它可能有限制,也可能没有了解它的用法。有没有关于Windows 7操作系统的特殊处理的想法?我使用了这个代码段,但应用程序在这个阶段没有抛出任何异常,但只有当我尝试使用filereader对象读取文件时,如果没有显示任何内容,那么读取文件时就会出现实际问题-文件是有效的,但无法读取。如果我不得不这样做的话我猜,我会说权限?因为据我所知,其余的设置是正确的。我会检查以确保您试图读取的文件具有打开权限。我从未使用过扫描仪对象,但是,它可能有限制,或者我可能不知道它的用法。有没有在Windows 7操作系统中进行特殊处理的想法??