我爲我的Java類指定了兩個文本文件。結合兩個文本文件的Java
這是我到目前爲止的代碼。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class CombineTwoFile {
public static void main(String[] args) throws IOException
{
ArrayList<String> list = new ArrayList<String>();
try
{
BufferedReader br = new BufferedReader(new FileReader("A.txt"));
BufferedReader r = new BufferedReader(new FileReader("B.txt"));
String s1 =null;
String s2 = null;
while ((s1 = br.readLine()) != null)
{
list.add(s1);
}
while((s2 = r.readLine()) != null)
{
list.add(s2);
}
}
catch (IOException e)
{
e.printStackTrace();
}
BufferedWriter writer=null;
writer = new BufferedWriter(new FileWriter("B.txt"));
String listWord;
for (int i = 0; i< list.size(); i++)
{
listWord = list.get(i);
writer.write(listWord);
writer.write("\n");
}
System.out.println("completed");
writer.close();
}
}
現在,當我編譯它時,我收到了這條消息。
java.io.FileNotFoundException: A.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at java.io.FileReader.<init>(FileReader.java:41)
at CombineTwoFile.main(CombineTwoFile.java:15)
completed
我的蘋果電腦上使用Coderunner和我想也許寫文本文件爲「C:/Users/dell/Desktop/Test/input1.txt」可以解決這個問題,但是我是在不確定如何編寫對應於我的硬盤驅動器。謝謝你看看,我感謝任何幫助。
您需要文件的完整路徑。 '新的FileReader(「A.txt」)'會嘗試從你的類路徑中讀取文件。 –
文件「A.txt」要麼不存在,要麼位於錯誤的地方。您可以通過記錄以下值來找到放置文件的位置:'new File(「A.txt」)。getCanonicalPath()'。 –
只需將A.txt文件添加到一個目錄並在新的FileReader(「A.txt」)中,而不是僅傳遞「A.txt」,將A.txt文件的完整路徑作爲參數傳遞。例如,如果將文件A.txt放在C驅動器的臨時文件夾中。您將傳遞參數C:\\ temp \\ A.txt。 – HaroldSer