我正在創建一個小程序,用於修改程序文件中保存的驅動程序字母。該方法的工作原理是正確定位文件並正確修改驅動器號。我怎樣才能讓這個緩衝作家一次寫一行? JAVA
但是,當它在更改後打開文件時,所有的目錄列表全部在一行上,但它們需要在每行中有1個目錄。我已經嘗試將每一行保存到一個數組列表中,然後將它們打印出來,但這似乎並不適用於我,所以想知道是否有人可以提供幫助?
非常感謝。
P.S.被瞎搞試圖使其工作,現在也遇到了另一個問題,即它現在打印他們全部成一行,但與空格例如之間:
S:\ DATA \ SAGE \
public class copy
{
private String newDriveLetter;
private String line;
private Path[]sageFolders;
private FileReader fileReader;
private BufferedReader bufferedReader;
private FileWriter fileWriter;
private BufferedWriter bufferedWriter;
private List<String> lines = new ArrayList<String>();
public void scanFiles() throws IOException{
try
{
System.out.println("Sage 2015 is Installed on this machine");
File companyFile = new File(sageFolders[8] + "\\COMPANY");
fileReader = new FileReader(companyFile);
bufferedReader = new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null)
{
if(line.contains("F"))
{
line = line.replace("F:\\","S:\\");
lines.add(line);
}
}
//Close the Readers
fileReader.close();
bufferedReader.close();
fileWriter = new FileWriter(companyFile);
bufferedWriter = new BufferedWriter(fileWriter);
for(String s : lines)
{
bufferedWriter.write(s);
}
bufferedWriter.flush();
bufferedWriter.close();
}
catch(FileNotFoundException e)
{
System.out.println("File not Found: Moving onto next Version");
}
}
與您的問題沒有關係,但您應該考慮使用常量File.separator而不是您的文件名字符串中的硬編碼反斜槓 – Palamino