[英]Unable to Read Text File in Java using FileReader and BufferedReader, possible reasons?
[英]Unable to read text file in Java using FileReader and BufferedReader
我想在java8中讀取文本文件,出現錯誤“類型不匹配:無法從FileReader轉換為Reader”。 如果將Reader類更改為FileReader而不是出現錯誤“構造函數BufferedReader(FileReader)未定義”,則我的語句為
Reader fr = new FileReader("testfile.txt");
BufferedReader br = new BufferedReader(fr);
請建議
要確認您有一個名為FileReader
,只需在代碼中使用完整的類名即可:
java.io.Reader fr = new java.io.FileReader("testfile.txt");
java.io.BufferedReader br = new java.io.BufferedReader(fr);
這將確保您使用特定的類,而不是yourPackage.FileReader
類。
然后,由於只有FileReader
似乎有問題,因此可以將其清理為:
import java.io.*
...
Reader fr = new java.io.FileReader("testfile.txt");
BufferedReader br = new BufferedReader(fr);
僅指定FileReader
全名。
注意:
使用Class.GetPackage ,您應該找出正在使用的類。
System.out.println(FileReader.class.getPackage());
包聲明永遠不會遮蓋任何其他聲明。
程序包p的編譯單元c中的單類型導入聲明d,在整個c中導入名為n shadows的類型:
- 在p的另一個編譯單元中聲明的任何名為n的頂級類型
- 由c中的按需類型導入聲明導入的任何名為n的類型
- 由c中的按需靜態導入聲明導入的任何名為n的類型
A
A.Run
A.Test
B
B.Test
在A.Run.java中
System.out.println(Test.class.getPackage());
這是輸出:
import B.*
:包A import B.Test
:包B 您可能正在導入java.io.BufferedReader和java.io.Reader以外的東西。
這有效
package com.company;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
Reader fr = new FileReader("testfile.txt");
BufferedReader br = new BufferedReader(fr);
}
}
請檢查您的進口;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.