我對Java有點新,並希望有人能幫助我。我到處尋找,但似乎無法找到解決方案。 我試圖使用bufferedwriter將方法的結果保存到文件中。緩衝寫入器本身的工作原理是保存一些其他的字符串,但是當涉及到這個函數時只顯示'null'。是因爲此方法的結果返回多個字符串?我該如何解決這個問題? 我的代碼如下:Bufferedwriter不保存*一切*文件
的BufferedWriter代碼:
public static boolean saveStringToFile (String fileName, String saveString)
{
boolean saved = false;
BufferedWriter bw = null;
try
{
bw = new BufferedWriter(new FileWriter(fileName));
try
{
bw.write(saveString);
saved = true;
}
finally
{
bw.close();
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
return saved;
}
函數本身:
public static void getNetDetails()
{
try {
Process net = Runtime.getRuntime().exec("lsof -i -n -P");
BufferedReader netInput = new BufferedReader(
new InputStreamReader(net.getInputStream()));
while ((netDetails = netInput.readLine()) !=null)
{
System.out.println(netDetails);
System.out.println("\n");
}
}
catch(IOException e) {
System.out.println("exception happened - here are the details: ");
e.printStackTrace();
}
}
保存功能,文件中使用的BufferedWriter
public static void generateNetReport()
{
saveStringToFile("Net.txt","here is the thing.." + "\n" + netDetails);
}
有人可以請幫助我如何可以將netDetails保存到文件中而不顯示空嗎? (編者)
您似乎缺少代碼。你在哪裏調用'generateNetReport'和'saveStringToFile'? – cdeszaq
saveStringToFile是緩衝寫入器代碼的名稱,generateNetReport是在主函數中創建的。上面提供的代碼只是我的原始類的片段。 – Sham