我正在嘗試讀取java中的文件。以下是代碼。文件讀取問題
String str = ".\\SomeFileName";
File file = new File(str);
InputStream is = new FileInputStream(file.getPath());
FileNotFoundException在最後一行中被拋出。有人可以幫忙嗎?
我正在嘗試讀取java中的文件。以下是代碼。文件讀取問題
String str = ".\\SomeFileName";
File file = new File(str);
InputStream is = new FileInputStream(file.getPath());
FileNotFoundException在最後一行中被拋出。有人可以幫忙嗎?
您需要確定您當前的工作目錄。您可以通過以下方式找出當前工作目錄:
String curDir = System.getProperty("user.dir");
您可以用兩種方式指定文件;無論是絕對的,如
String fileName1 = "c:\temp\myfile.txt"; \\For Windows
String fileName2 = "/home/qwerky/myfile.txt"; \\For Linux
或相對的,例如
String fileName3 = "myfile.txt";
如果您使用的是相對路徑,那麼路徑是相對於Java的當前工作目錄。你可以通過獲取文件「。」來找到它。並推動絕對路徑。
File cwd = new File(".");
System.out.println("Current working directory is " + cwd.getAbsolutePath());
嘗試通過給絕對路徑...完整的目錄路徑。
File file = new File("C:\\abc.txt");
然後再測試一下。 STR是有一個字符串文件名
File file = new File(str);
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath);
下面的程序工作正常,請首先運行它只是取消對註釋聲明和評論的InputStreamReader中陳述
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; public class FileRead { public static void main(String args[]){ try{ //String str = ".\\SomeFileName"; File file = new File(".\\file.csv"); // FileWriter writer=new FileWriter(file); //writer.write("it can writer"); //writer.flush(); InputStream is = new FileInputStream(file.getPath()); BufferedReader br=new BufferedReader(new InputStreamReader(is)); System.out.println(br.readLine()); }catch(Exception e){ e.printStackTrace(); } } }
我認爲你有問題將該文件放在正確的位置
該文件在哪裏以及您從哪裏調用此代碼? –
首先它在本地C目錄中,我認爲可能存在一些問題,所以我放在當前目錄中。 –
另外,你是否嘗試使用正斜槓(或在這種情況下,根本沒有點斜線)? –